Turn off color for downstairs dump Removing existing region "/var/tmp/test_repair" Creating region directory at: /var/tmp/test_repair Creating dsc directory at: /tmp/test_repair/test_repair_dsc Downstairs region 0 created at /var/tmp/test_repair/8810 in 0.2041807 Downstairs region 1 created at /var/tmp/test_repair/8820 in 0.012901345 Downstairs region 2 created at /var/tmp/test_repair/8830 in 0.012209695 Created 3 regions /var/tmp/bins/crutest with -t 127.0.0.1:8810 -t 127.0.0.1:8820 -t 127.0.0.1:8830 1134 1135 1136 Dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.185409143Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.198991531Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.200939371Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.201006292Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.201015921Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.201042258Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139} {"msg":"Crucible 6a9b4826-3993-4aa7-9574-19eccfe7e453 has session id: b6daf0d4-b4a7-4ca6-91f0-921c78f6d743","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.201671407Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"Upstairs opts: Upstairs UUID: 6a9b4826-3993-4aa7-9574-19eccfe7e453, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.20172579Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"Crucible stats registered with UUID: 6a9b4826-3993-4aa7-9574-19eccfe7e453","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.201737119Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:42:02.201796781Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.20258598Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"":"io task","client":"0","":"downstairs","session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.202733361Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"":"io task","client":"1","":"downstairs","session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.202748199Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"":"io task","client":"2","":"downstairs","session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.202857265Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"task":"crutest"} {"msg":"The guest has requested activation with gen:1","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.202881592Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139} {"msg":"6a9b4826-3993-4aa7-9574-19eccfe7e453 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.20297579Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.202985629Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"client":"0","":"downstairs","session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.202996337Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"client":"1","":"downstairs","session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.203014055Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"client":"2","":"downstairs","session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.203114052Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"":"io task","client":"2","":"downstairs","session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.203125461Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"":"io task","client":"0","":"downstairs","session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.203135749Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"":"io task","client":"1","":"downstairs","session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"ds_connection connected from Ok(127.0.0.1:57842)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.203180644Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"":"io task","client":"2","":"downstairs","session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"ds_connection connected from Ok(127.0.0.1:55483)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.20320558Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"":"io task","client":"1","":"downstairs","session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"ds_connection connected from Ok(127.0.0.1:39735)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.203217169Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"":"io task","client":"0","":"downstairs","session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.204714707Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"client":"0","":"downstairs","session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.204774169Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"client":"1","":"downstairs","session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.204799386Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"client":"2","":"downstairs","session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.205480489Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.205500316Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"[0]R flush_numbers[0..12]: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.205512974Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"":"downstairs","":"downstairs","session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"[0]R generation[0..12]: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.205523623Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"":"downstairs","":"downstairs","session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.205534932Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"":"downstairs","":"downstairs","session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"[1]R flush_numbers[0..12]: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.20554534Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"":"downstairs","":"downstairs","session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"[1]R generation[0..12]: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.205555939Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"":"downstairs","":"downstairs","session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.205567028Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"":"downstairs","":"downstairs","session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"[2]R flush_numbers[0..12]: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.205577366Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"":"downstairs","":"downstairs","session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"[2]R generation[0..12]: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.205587605Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"":"downstairs","":"downstairs","session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.205598713Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"":"downstairs","":"downstairs","session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"Max found gen is 1","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.205608332Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"":"downstairs","":"downstairs","session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"Generation requested: 1 >= found:1","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.205618271Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"":"downstairs","":"downstairs","session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"Next flush: 1","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.20562785Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"":"downstairs","":"downstairs","session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.205639648Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"":"downstairs","":"downstairs","session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.205649647Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.205658806Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"client":"0","":"downstairs","session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.205668794Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"client":"1","":"downstairs","session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.205678563Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"client":"2","":"downstairs","session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.205688562Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.205697991Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"6a9b4826-3993-4aa7-9574-19eccfe7e453 is now active with session: b6daf0d4-b4a7-4ca6-91f0-921c78f6d743","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.205708119Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.205717138Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"The guest has finished waiting for activation with:1","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.205726497Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139} {"msg":"Activated sub_volume 6a9b4826-3993-4aa7-9574-19eccfe7e453","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.205734776Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.205775231Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 {"msg":"Fill test","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.205955148Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"task":"crutest"} Read and Verify all blocks (0..600 range:false) {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30---------------------------------------------------------------- Crucible gen:1 GIO:true work queues: Upstairs:0 downstairs:3 ,States:"time":" Active2026-10-21T21:42:02.240790011Z" Active Active ,"hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"task":"crutest"} {"msg":"CLIENT: Tests done. All submitted work has been ACK'd","v":0,"name":"crucible","level":30JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY ,"time":"2026-10-21T21:42:02.240844564Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"task":"crutest"} 1004 Acked Read 88 Done Done Done false 1005 Acked Read 256 Done Done Done false 1006 Acked Read 256 Done Done Done false STATES DS:0 DS:1 DS:2 TOTAL Sent 0 0 0 0 Done 3 3 3 9 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1003)) Some(JobId(1003)) Some(JobId(1003)) Downstairs last five completed: 1003 1002 1001 1000 Upstairs last five completed: 1006 1005 1004 1003 1002 {"msg":"CLIENT: Up:0 ds:3 act:3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:02.241021131Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"task":"crutest"} ---------------------------------------------------------------- Crucible gen:1 GIO:true work queues: Upstairs:0 downstairs:0 Downstairs last five completed: 1007 1006 1005 1004 1003 Upstairs last five completed: 1007 1006 1005 1004 1003 {"msg":"CLIENT: Up:0 ds:0 act:3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.242949801Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"task":"crutest"} {"msg":"CLIENT: All crucible jobs finished, exiting program","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.243000704Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"task":"crutest"} {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:42:06.243015682Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139} {"msg":"client request queue closed unexpectedly; is the program exiting?","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:42:06.243149345Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"":"io task","client":"0","":"downstairs","session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"client task is sending Done(QueueClosed)","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:42:06.243168453Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"":"io task","client":"0","":"downstairs","session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"client task could not reply to main task; shutting down?","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:42:06.243184371Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"":"io task","client":"0","":"downstairs","session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"client task is exiting","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.243199459Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"":"io task","client":"0","":"downstairs","session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"client stopping due to Err(RecvError(()))","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.243515868Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"":"io task","client":"1","":"downstairs","session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"client task is sending Done(QueueClosed)","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:42:06.243533546Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"":"io task","client":"1","":"downstairs","session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"client task could not reply to main task; shutting down?","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:42:06.243549914Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"":"io task","client":"1","":"downstairs","session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} {"msg":"client task is exiting","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.243564882Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1139,"":"io task","client":"1","":"downstairs","session_id":"b6daf0d4-b4a7-4ca6-91f0-921c78f6d743"} Begin loop 1 Downstairs to restart: 0 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.270316521Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"task":"crutest"} {"msg":"Failed to get info from \"http://127.0.0.1:12810\" Communication Error: error sending request for url (http://127.0.0.1:12810/region-info)","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:42:06.277637212Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"task":"crutest"} {"msg":"look at: http://127.0.0.1:12820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.277708693Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008820, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.284996739Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.285271333Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.28530142Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.285310168Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.285321807Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141} {"msg":"Crucible a79970bf-5406-4d94-a186-21c8b5be24c8 has session id: f6f186b2-e2ee-4161-9e8e-7310e28ba948","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.2856898Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"Upstairs opts: Upstairs UUID: a79970bf-5406-4d94-a186-21c8b5be24c8, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.285719686Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"Crucible stats registered with UUID: a79970bf-5406-4d94-a186-21c8b5be24c8","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.285731244Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:42:06.285740823Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.285891634Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"":"io task","client":"0","":"downstairs","session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.285907592Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"":"io task","client":"1","":"downstairs","session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.285917881Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"":"io task","client":"2","":"downstairs","session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.286048464Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"task":"crutest"} {"msg":"The guest has requested activation with gen:2","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.28607541Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141} {"msg":"a79970bf-5406-4d94-a186-21c8b5be24c8 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.286095008Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.286104367Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"client":"0","":"downstairs","session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.286114365Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"client":"1","":"downstairs","session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.286124294Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"client":"2","":"downstairs","session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.286134113Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"":"io task","client":"2","":"downstairs","session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.286148631Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"":"io task","client":"1","":"downstairs","session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.286159Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"":"io task","client":"0","":"downstairs","session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"ds_connection connected from Ok(127.0.0.1:43967)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.286282894Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"":"io task","client":"2","":"downstairs","session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"ds_connection connected from Ok(127.0.0.1:49984)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.286344706Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"":"io task","client":"1","":"downstairs","session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"ds_connection connected from Ok(127.0.0.1:41455)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.286356954Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"":"io task","client":"0","":"downstairs","session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.286942389Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"client":"2","":"downstairs","session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.286971345Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"client":"0","":"downstairs","session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.286982534Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"client":"1","":"downstairs","session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.287273277Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.287316381Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"[0]R flush_numbers[0..12]: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.287367935Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"":"downstairs","":"downstairs","session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"[0]R generation[0..12]: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.287379063Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"":"downstairs","":"downstairs","session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.287390312Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"":"downstairs","":"downstairs","session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"[1]R flush_numbers[0..12]: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.28740064Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"":"downstairs","":"downstairs","session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"[1]R generation[0..12]: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.287411229Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"":"downstairs","":"downstairs","session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.287422248Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"":"downstairs","":"downstairs","session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"[2]R flush_numbers[0..12]: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.287432596Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"":"downstairs","":"downstairs","session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"[2]R generation[0..12]: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.287442855Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"":"downstairs","":"downstairs","session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.287453694Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"":"downstairs","":"downstairs","session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"Max found gen is 2","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.287463292Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"":"downstairs","":"downstairs","session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"Generation requested: 2 >= found:2","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.287473211Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"":"downstairs","":"downstairs","session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"Next flush: 2","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.28748276Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"":"downstairs","":"downstairs","session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.287492459Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"":"downstairs","":"downstairs","session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.287502247Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.287511196Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"client":"0","":"downstairs","session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.287522465Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"client":"1","":"downstairs","session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.287532403Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"client":"2","":"downstairs","session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.287542422Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.287551941Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"a79970bf-5406-4d94-a186-21c8b5be24c8 is now active with session: f6f186b2-e2ee-4161-9e8e-7310e28ba948","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.28756202Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.287570959Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"session_id":"f6f186b2-e2ee-4161-9e8e-7310e28ba948"} {"msg":"The guest has finished waiting for activation with:2","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.287580277Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141} {"msg":"Activated sub_volume a79970bf-5406-4d94-a186-21c8b5be24c8","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.287588576Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.287596895Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.288239523Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"task":"crutest"} 01/30 Write block 469 len 24576 data: 2 2 2 2 2 2 02/30 Write block 217 len 32768 data: 2 2 2 2 2 2 2 2 03/30 Read block 63 len 40960 04/30 Read block 160 len 20480 05/30 Flush 06/30 Write block 404 len 4096 data: 2 07/30 Read block 559 len 16384 08/30 Write block 525 len 28672 data: 2 2 2 2 2 2 2 09/30 Read block 198 len 12288 10/30 Write block 250 len 16384 data: 2 2 2 2 11/30 Read block 207 len 8192 12/30 Read block 60 len 40960 13/30 Write block 117 len 4096 data: 2 14/30 Write block 245 len 28672 data: 2 2 2 2 2 3 3 15/30 Flush 16/30 Write block 461 len 8192 data: 2 2 17/30 Write block 169 len 36864 data: 2 2 2 2 2 2 2 2 2 18/30 Read block 450 len 32768 19/30 Read block 458 len 32768 20/30 Write block 229 len 36864 data: 2 2 2 2 2 2 2 2 2 21/30 Read block 387 len 4096 22/30 Read block 303 len 32768 23/30 Read block 554 len 40960 24/30 Read block 348 len 8192 25/30 Write block 295 len 16384 data: 2 2 2 2 26/30 Write block 258 len 8192 data: 2 2 27/30 Read block 332 len 24576 28/30 Write block 241 len 20480 data: 2 2 2 2 3 29/30 Write block 508 len 28672 data: 2 2 2 2 2 2 2 30/30 Write block 540 len 32768 data: 2 2 2 2 2 2 2 2 ---------------------------------------------------------------- Crucible gen:2 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 6 Done Done Done false 1001 Acked Write 8 Sent Done Done false 1002 Acked Read 10 Sent Done Done false 1003 Acked Read 5 Sent Done Done false 1004 Acked Flush 0 Sent Done Done false 1005 Acked Write 1 Sent Done Done false 1006 Acked Read 4 Sent Done Done false 1007 Acked Write 7 Sent Done Done false 1008 Acked Read 3 Sent Done Done false 1009 Acked Write 4 Sent Done Done false 1010 Acked Read 2 Sent Done Done false 1011 Acked Read 10 Sent Done Done false 1012 Acked Write 1 Sent Done Done false 1013 Acked Write 7 Sent Done Done false 1014 Acked Flush 0 Sent Done Done false 1015 Acked Write 2 Sent Done Done false 1016 Acked Write 9 Sent Done Done false 1017 Acked Read 8 Sent Done Done false 1018 Acked Read 8 Sent Done Done false 1019 Acked Write 9 Sent Done Done false 1020 Acked Read 1 Sent Done Done false 1021 Acked Read 8 Sent Done Done false 1022 Acked Read 10 Sent Done Done false 1023 Acked Read 2 Sent Done Done false 1024 Acked Write 4 Sent Done Done false 1025 Acked Write 2 Sent Done Done false 1026 Acked Read 6 Sent Done Done false 1027 Acked Write 5 Sent Done Sent false 1028 Acked Write 7 Sent Sent Sent false 1029 Acked Write 8 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 29 2 3 34 Done 1 28 27 56 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: None Some(JobId(1014)) Some(JobId(1014)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:42:06.296552847Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:06.29683935Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1141,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 1 1 1 1 1 1 F F F 1 020-039 1 1 1 1 1 1 F F F 2 040-059 1 1 1 1 1 1 F F F 3 060-079 1 1 1 1 1 1 F F F 4 080-099 1 1 1 1 1 1 F F F 5 100-119 1 2 2 1 3 3 F F F <--- 6 120-139 1 1 1 1 1 1 F F F 7 140-159 1 1 1 1 1 1 F F F 8 160-179 1 1 1 1 1 1 F T T <--- 9 180-199 1 1 1 1 1 1 F F F 10 200-219 1 2 2 1 2 2 F F F <--- 11 220-239 1 2 2 1 2 2 F T T <--- 12 240-259 1 2 2 1 3 3 F T T <--- 13 260-279 1 1 1 1 1 1 F F F 14 280-299 1 1 1 1 1 1 F T T <--- 15 300-319 1 1 1 1 1 1 F F F 16 320-339 1 1 1 1 1 1 F F F 17 340-359 1 1 1 1 1 1 F F F 18 360-379 1 1 1 1 1 1 F F F 19 380-399 1 1 1 1 1 1 F F F 20 400-419 1 2 2 1 3 3 F F F <--- 21 420-439 1 1 1 1 1 1 F F F 22 440-459 1 1 1 1 1 1 F F F 23 460-479 1 2 2 1 2 2 T T T <--- 24 480-499 1 1 1 1 1 1 F F F 25 500-519 1 1 1 1 1 1 F T T <--- 26 520-539 1 2 2 1 3 3 F F F <--- 27 540-559 1 1 1 1 1 1 F T T <--- 28 560-579 1 1 1 1 1 1 F F F 29 580-599 1 1 1 1 1 1 F F F Max gen: 2, Max flush: 3 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 1 Verifying data now No change after verify Loop: 1 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 1 1 1 1 1 1 F F F 1 020-039 1 1 1 1 1 1 F F F 2 040-059 1 1 1 1 1 1 F F F 3 060-079 1 1 1 1 1 1 F F F 4 080-099 1 1 1 1 1 1 F F F 5 100-119 2 2 2 3 3 3 F F F 6 120-139 1 1 1 1 1 1 F F F 7 140-159 1 1 1 1 1 1 F F F 8 160-179 3 3 3 4 4 4 F F F 9 180-199 1 1 1 1 1 1 F F F 10 200-219 2 2 2 2 2 2 F F F 11 220-239 3 3 3 4 4 4 F F F 12 240-259 3 3 3 4 4 4 F F F 13 260-279 1 1 1 1 1 1 F F F 14 280-299 3 3 3 4 4 4 F F F 15 300-319 1 1 1 1 1 1 F F F 16 320-339 1 1 1 1 1 1 F F F 17 340-359 1 1 1 1 1 1 F F F 18 360-379 1 1 1 1 1 1 F F F 19 380-399 1 1 1 1 1 1 F F F 20 400-419 2 2 2 3 3 3 F F F 21 420-439 1 1 1 1 1 1 F F F 22 440-459 1 1 1 1 1 1 F F F 23 460-479 3 3 3 4 4 4 F F F 24 480-499 1 1 1 1 1 1 F F F 25 500-519 3 3 3 4 4 4 F F F 26 520-539 2 2 2 3 3 3 F F F 27 540-559 3 3 3 4 4 4 F F F 28 560-579 1 1 1 1 1 1 F F F 29 580-599 1 1 1 1 1 1 F F F Max gen: 3, Max flush: 4 Begin loop 2 Downstairs to restart: 0 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.666892372Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"task":"crutest"} {"msg":"Failed to get info from \"http://127.0.0.1:12810\" Communication Error: error sending request for url (http://127.0.0.1:12810/region-info)","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:42:10.674055863Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"task":"crutest"} {"msg":"look at: http://127.0.0.1:12820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.674125034Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008820, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.680872579Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.681136905Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.681165601Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.68117411Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.681186109Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149} {"msg":"Crucible de74e7a1-1e08-42bc-91dc-9d17990c2024 has session id: e9d0dfce-b31a-4e28-a701-2a338bc948eb","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.681523816Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"Upstairs opts: Upstairs UUID: de74e7a1-1e08-42bc-91dc-9d17990c2024, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.681547253Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"Crucible stats registered with UUID: de74e7a1-1e08-42bc-91dc-9d17990c2024","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.681557661Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:42:10.6815681Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.681729449Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"":"io task","client":"1","":"downstairs","session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.681747027Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"":"io task","client":"0","":"downstairs","session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.681757146Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"":"io task","client":"2","":"downstairs","session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.681923514Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"task":"crutest"} {"msg":"The guest has requested activation with gen:4","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.681947221Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149} {"msg":"de74e7a1-1e08-42bc-91dc-9d17990c2024 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.681963459Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.681976537Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"client":"0","":"downstairs","session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.681986556Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"client":"1","":"downstairs","session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.681996485Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"client":"2","":"downstairs","session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.682006574Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"":"io task","client":"2","":"downstairs","session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.682016882Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"":"io task","client":"0","":"downstairs","session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.682027021Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"":"io task","client":"1","":"downstairs","session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"ds_connection connected from Ok(127.0.0.1:50127)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.682079154Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"":"io task","client":"2","":"downstairs","session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"ds_connection connected from Ok(127.0.0.1:50482)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.682122359Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"":"io task","client":"0","":"downstairs","session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"ds_connection connected from Ok(127.0.0.1:49947)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.682186401Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"":"io task","client":"1","":"downstairs","session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.682783634Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"client":"1","":"downstairs","session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.682803961Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"client":"2","":"downstairs","session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.68281702Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"client":"0","":"downstairs","session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.683094994Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.683117511Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"[0]R flush_numbers[0..12]: [1, 1, 1, 1, 1, 3, 1, 1, 4, 1, 2, 4]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.683184083Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"":"downstairs","":"downstairs","session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"[0]R generation[0..12]: [1, 1, 1, 1, 1, 2, 1, 1, 3, 1, 2, 3]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.683195491Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"":"downstairs","":"downstairs","session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.68320668Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"":"downstairs","":"downstairs","session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"[1]R flush_numbers[0..12]: [1, 1, 1, 1, 1, 3, 1, 1, 4, 1, 2, 4]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.683217278Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"":"downstairs","":"downstairs","session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"[1]R generation[0..12]: [1, 1, 1, 1, 1, 2, 1, 1, 3, 1, 2, 3]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.683227657Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"":"downstairs","":"downstairs","session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.683238666Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"":"downstairs","":"downstairs","session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"[2]R flush_numbers[0..12]: [1, 1, 1, 1, 1, 3, 1, 1, 4, 1, 2, 4]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.683249024Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"":"downstairs","":"downstairs","session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"[2]R generation[0..12]: [1, 1, 1, 1, 1, 2, 1, 1, 3, 1, 2, 3]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.683259353Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"":"downstairs","":"downstairs","session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.683270452Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"":"downstairs","":"downstairs","session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"Max found gen is 4","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.68327998Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"":"downstairs","":"downstairs","session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"Generation requested: 4 >= found:4","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.683290089Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"":"downstairs","":"downstairs","session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"Next flush: 5","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.683301898Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"":"downstairs","":"downstairs","session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.683311556Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"":"downstairs","":"downstairs","session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.683321395Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.683330364Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"client":"0","":"downstairs","session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.683340033Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"client":"1","":"downstairs","session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.683349751Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"client":"2","":"downstairs","session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.68335957Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.683368819Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"de74e7a1-1e08-42bc-91dc-9d17990c2024 is now active with session: e9d0dfce-b31a-4e28-a701-2a338bc948eb","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.683378918Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.683387776Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"session_id":"e9d0dfce-b31a-4e28-a701-2a338bc948eb"} {"msg":"The guest has finished waiting for activation with:4","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.683397065Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149} {"msg":"Activated sub_volume de74e7a1-1e08-42bc-91dc-9d17990c2024","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.683405314Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.683413763Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.683703296Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"task":"crutest"} 01/30 Write block 33 len 12288 data: 2 2 2 02/30 Read block 206 len 4096 03/30 Write block 507 len 32768 data: 2 3 3 3 3 3 3 3 04/30 Write block 137 len 40960 data: 2 2 2 2 2 2 2 2 2 2 05/30 Flush 06/30 Write block 210 len 28672 data: 2 2 2 2 2 2 2 07/30 Read block 182 len 28672 08/30 Write block 99 len 20480 data: 2 2 2 2 2 09/30 Write block 298 len 36864 data: 3 2 2 2 2 2 2 2 2 10/30 Write block 87 len 36864 data: 2 2 2 2 2 2 2 2 2 11/30 Read block 117 len 40960 12/30 Read block 462 len 16384 13/30 Read block 12 len 32768 14/30 Read block 349 len 40960 15/30 Write block 27 len 20480 data: 2 2 2 2 2 16/30 Flush 17/30 Write block 36 len 8192 data: 2 2 18/30 Write block 456 len 4096 data: 2 19/30 Write block 420 len 8192 data: 2 2 20/30 Read block 418 len 24576 21/30 Read block 422 len 32768 22/30 Write block 484 len 28672 data: 2 2 2 2 2 2 2 23/30 Write block 455 len 4096 data: 2 24/30 Write block 91 len 12288 data: 3 3 3 25/30 Read block 466 len 24576 26/30 Read block 126 len 28672 27/30 Write block 102 len 4096 data: 3 28/30 Read block 188 len 32768 29/30 Read block 19 len 36864 30/30 Read block 269 len 12288 ---------------------------------------------------------------- Crucible gen:4 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 3 Sent Done Done false 1001 Acked Read 1 Sent Done Done false 1002 Acked Write 8 Sent Done Done false 1003 Acked Write 10 Sent Done Done false 1004 Acked Flush 0 Sent Done Done false 1005 Acked Write 7 Sent Done Done false 1006 Acked Read 7 Sent Done Done false 1007 Acked Write 5 Sent Done Done false 1008 Acked Write 9 Sent Done Done false 1009 Acked Write 9 Sent Done Done false 1010 Acked Read 10 Sent Done Done false 1011 Acked Read 4 Sent Done Done false 1012 Acked Read 8 Sent Done Done false 1013 Acked Read 10 Sent Done Done false 1014 Acked Write 5 Sent Done Done false 1015 Acked Flush 0 Sent Done Done false 1016 Acked Write 2 Sent Done Done false 1017 Acked Write 1 Sent Done Done false 1018 Acked Write 2 Sent Done Done false 1019 Acked Read 6 Sent Done Done false 1020 Acked Read 8 Sent Done Done false 1021 Acked Write 7 Sent Done Done false 1022 Acked Write 1 Sent Done Done false 1023 Acked Write 3 Sent Done Done false 1024 Acked Read 6 Sent Done Done false 1025 Acked Read 7 Sent Done Done false 1026 Acked Write 1 Sent Done Done false 1027 Acked Read 8 Sent Done Done false 1028 Acked Read 9 Sent Done Done false 1029 Acked Read 3 Sent Done Done false STATES DS:0 DS:1 DS:2 TOTAL Sent 30 0 0 30 Done 0 30 30 60 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: None Some(JobId(1015)) Some(JobId(1015)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:42:10.691605823Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:10.691890556Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1149,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 1 1 1 1 1 1 F F F 1 020-039 1 4 4 1 6 6 F T T <--- 2 040-059 1 1 1 1 1 1 F F F 3 060-079 1 1 1 1 1 1 F F F 4 080-099 1 4 4 1 6 6 F T T <--- 5 100-119 2 4 4 3 6 6 F T T <--- 6 120-139 1 4 4 1 5 5 F F F <--- 7 140-159 1 4 4 1 5 5 F F F <--- 8 160-179 3 3 3 4 4 4 F F F 9 180-199 1 1 1 1 1 1 F F F 10 200-219 2 4 4 2 6 6 F F F <--- 11 220-239 3 3 3 4 4 4 F F F 12 240-259 3 3 3 4 4 4 F F F 13 260-279 1 1 1 1 1 1 F F F 14 280-299 3 4 4 4 6 6 F F F <--- 15 300-319 1 4 4 1 6 6 F F F <--- 16 320-339 1 1 1 1 1 1 F F F 17 340-359 1 1 1 1 1 1 F F F 18 360-379 1 1 1 1 1 1 F F F 19 380-399 1 1 1 1 1 1 F F F 20 400-419 2 2 2 3 3 3 F F F 21 420-439 1 1 1 1 1 1 F T T <--- 22 440-459 1 1 1 1 1 1 F T T <--- 23 460-479 3 3 3 4 4 4 F F F 24 480-499 1 1 1 1 1 1 F T T <--- 25 500-519 3 4 4 4 5 5 F F F <--- 26 520-539 2 2 2 3 3 3 F F F 27 540-559 3 3 3 4 4 4 F F F 28 560-579 1 1 1 1 1 1 F F F 29 580-599 1 1 1 1 1 1 F F F Max gen: 4, Max flush: 6 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 2 Verifying data now No change after verify Loop: 2 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 1 1 1 1 1 1 F F F 1 020-039 5 5 5 7 7 7 F F F 2 040-059 1 1 1 1 1 1 F F F 3 060-079 1 1 1 1 1 1 F F F 4 080-099 5 5 5 7 7 7 F F F 5 100-119 5 5 5 7 7 7 F F F 6 120-139 4 4 4 5 5 5 F F F 7 140-159 4 4 4 5 5 5 F F F 8 160-179 3 3 3 4 4 4 F F F 9 180-199 1 1 1 1 1 1 F F F 10 200-219 4 4 4 6 6 6 F F F 11 220-239 3 3 3 4 4 4 F F F 12 240-259 3 3 3 4 4 4 F F F 13 260-279 1 1 1 1 1 1 F F F 14 280-299 4 4 4 6 6 6 F F F 15 300-319 4 4 4 6 6 6 F F F 16 320-339 1 1 1 1 1 1 F F F 17 340-359 1 1 1 1 1 1 F F F 18 360-379 1 1 1 1 1 1 F F F 19 380-399 1 1 1 1 1 1 F F F 20 400-419 2 2 2 3 3 3 F F F 21 420-439 5 5 5 7 7 7 F F F 22 440-459 5 5 5 7 7 7 F F F 23 460-479 3 3 3 4 4 4 F F F 24 480-499 5 5 5 7 7 7 F F F 25 500-519 4 4 4 5 5 5 F F F 26 520-539 2 2 2 3 3 3 F F F 27 540-559 3 3 3 4 4 4 F F F 28 560-579 1 1 1 1 1 1 F F F 29 580-599 1 1 1 1 1 1 F F F Max gen: 5, Max flush: 7 Begin loop 3 Downstairs to restart: 2 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.936853909Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.945092562Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.945401653Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.945438528Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.945447347Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.945459165Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157} {"msg":"Crucible 9ce15bb3-f61c-4603-9e4b-c2c33daa3fda has session id: 18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.945764836Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"Upstairs opts: Upstairs UUID: 9ce15bb3-f61c-4603-9e4b-c2c33daa3fda, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.945851745Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"Crucible stats registered with UUID: 9ce15bb3-f61c-4603-9e4b-c2c33daa3fda","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.945868133Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:42:14.945879901Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.946035411Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"":"io task","client":"1","":"downstairs","session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.946064328Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"":"io task","client":"0","":"downstairs","session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.946075296Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"":"io task","client":"2","":"downstairs","session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.946205999Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"task":"crutest"} {"msg":"The guest has requested activation with gen:6","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.946263552Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157} {"msg":"9ce15bb3-f61c-4603-9e4b-c2c33daa3fda active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.946272021Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.94628112Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"client":"0","":"downstairs","session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.946291868Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"client":"1","":"downstairs","session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.946301887Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"client":"2","":"downstairs","session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.946311776Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"":"io task","client":"2","":"downstairs","session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.946321965Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"":"io task","client":"0","":"downstairs","session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.946332163Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"":"io task","client":"1","":"downstairs","session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"ds_connection connected from Ok(127.0.0.1:65180)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.946399395Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"":"io task","client":"2","":"downstairs","session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"ds_connection connected from Ok(127.0.0.1:46569)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.946424781Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"":"io task","client":"0","":"downstairs","session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"ds_connection connected from Ok(127.0.0.1:65183)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.94643619Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"":"io task","client":"1","":"downstairs","session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.947096105Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"client":"1","":"downstairs","session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.947146579Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"client":"0","":"downstairs","session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.947168506Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"client":"2","":"downstairs","session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.94745297Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.947464578Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"[0]R flush_numbers[0..12]: [1, 7, 1, 1, 7, 7, 5, 5, 4, 1, 6, 4]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.947478906Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"":"downstairs","":"downstairs","session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"[0]R generation[0..12]: [1, 5, 1, 1, 5, 5, 4, 4, 3, 1, 4, 3]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.947489485Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"":"downstairs","":"downstairs","session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.947500563Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"":"downstairs","":"downstairs","session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"[1]R flush_numbers[0..12]: [1, 7, 1, 1, 7, 7, 5, 5, 4, 1, 6, 4]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.947510872Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"":"downstairs","":"downstairs","session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"[1]R generation[0..12]: [1, 5, 1, 1, 5, 5, 4, 4, 3, 1, 4, 3]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.947521101Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"":"downstairs","":"downstairs","session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.947532189Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"":"downstairs","":"downstairs","session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"[2]R flush_numbers[0..12]: [1, 7, 1, 1, 7, 7, 5, 5, 4, 1, 6, 4]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.947542448Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"":"downstairs","":"downstairs","session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"[2]R generation[0..12]: [1, 5, 1, 1, 5, 5, 4, 4, 3, 1, 4, 3]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.947552717Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"":"downstairs","":"downstairs","session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.947563715Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"":"downstairs","":"downstairs","session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"Max found gen is 6","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.947573454Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"":"downstairs","":"downstairs","session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"Generation requested: 6 >= found:6","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.947584833Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"":"downstairs","":"downstairs","session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"Next flush: 8","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.947594431Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"":"downstairs","":"downstairs","session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.94760409Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"":"downstairs","":"downstairs","session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.947613929Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.947622868Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"client":"0","":"downstairs","session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.947632686Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"client":"1","":"downstairs","session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.947642535Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"client":"2","":"downstairs","session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.947652534Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.947661963Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"9ce15bb3-f61c-4603-9e4b-c2c33daa3fda is now active with session: 18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.947672071Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.94768102Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"session_id":"18a28c5a-13ff-4210-a0ad-7bc75ecfd4ab"} {"msg":"The guest has finished waiting for activation with:6","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.947690289Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157} {"msg":"Activated sub_volume 9ce15bb3-f61c-4603-9e4b-c2c33daa3fda","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.947698508Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.947706657Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.948046983Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"task":"crutest"} 01/30 Write block 128 len 36864 data: 2 2 2 2 2 2 2 2 2 02/30 Write block 418 len 28672 data: 2 2 3 3 2 2 2 03/30 Write block 329 len 24576 data: 2 2 2 2 2 2 04/30 Read block 347 len 8192 05/30 Write block 476 len 28672 data: 2 2 2 2 2 2 2 06/30 Read block 6 len 36864 07/30 Write block 566 len 32768 data: 2 2 2 2 2 2 2 2 08/30 Write block 471 len 20480 data: 3 3 3 3 2 09/30 Flush 10/30 Write block 572 len 40960 data: 3 3 2 2 2 2 2 2 2 2 11/30 Read block 370 len 28672 12/30 Read block 365 len 12288 13/30 Read block 257 len 36864 14/30 Read block 412 len 32768 15/30 Write block 271 len 32768 data: 2 2 2 2 2 2 2 2 16/30 Read block 232 len 8192 17/30 Write block 408 len 28672 data: 2 2 2 2 2 2 2 18/30 Read block 533 len 40960 19/30 Read block 398 len 4096 20/30 Read block 373 len 40960 21/30 Read block 268 len 20480 22/30 Read block 555 len 28672 23/30 Write block 505 len 32768 data: 2 2 3 4 4 4 4 4 24/30 Write block 354 len 28672 data: 2 2 2 2 2 2 2 25/30 Read block 141 len 28672 26/30 Write block 354 len 40960 data: 3 3 3 3 3 3 3 2 2 2 27/30 Write block 360 len 16384 data: 4 3 3 3 28/30 Read block 224 len 28672 29/30 Write block 297 len 16384 data: 3 4 3 3 30/30 Write block 320 len 40960 data: 2 2 2 2 2 2 2 2 2 3 ---------------------------------------------------------------- Crucible gen:6 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 9 Done Done Done false 1001 Acked Write 7 Done Done Done false 1002 Acked Write 6 Done Done Sent false 1003 Acked Read 2 Done Done Sent false 1004 Acked Write 7 Done Done Sent false 1005 Acked Read 9 Done Done Sent false 1006 Acked Write 8 Done Done Sent false 1007 Acked Write 5 Done Done Sent false 1008 Acked Flush 0 Done Done Sent false 1009 Acked Write 10 Done Done Sent false 1010 Acked Read 7 Done Done Sent false 1011 Acked Read 3 Done Done Sent false 1012 Acked Read 9 Done Done Sent false 1013 Acked Read 8 Done Done Sent false 1014 Acked Write 8 Done Done Sent false 1015 Acked Read 2 Done Done Sent false 1016 Acked Write 7 Done Done Sent false 1017 Acked Read 10 Done Done Sent false 1018 Acked Read 1 Done Done Sent false 1019 Acked Read 10 Done Done Sent false 1020 Acked Read 5 Done Done Sent false 1021 Acked Read 7 Done Done Sent false 1022 Acked Write 8 Done Done Sent false 1023 Acked Write 7 Done Done Sent false 1024 Acked Read 7 Done Done Sent false 1025 Acked Write 10 Done Done Sent false 1026 Acked Write 4 Done Done Sent false 1027 Acked Read 7 Done Done Sent false 1028 Acked Write 4 Sent Sent Sent false 1029 Acked Write 10 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 2 2 28 32 Done 28 28 2 58 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1008)) Some(JobId(1008)) None Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:42:14.956254751Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:14.956551013Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1157,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 1 1 1 1 1 1 F F F 1 020-039 5 5 5 7 7 7 F F F 2 040-059 1 1 1 1 1 1 F F F 3 060-079 1 1 1 1 1 1 F F F 4 080-099 5 5 5 7 7 7 F F F 5 100-119 5 5 5 7 7 7 F F F 6 120-139 6 6 4 8 8 5 F F T <--- 7 140-159 4 4 4 5 5 5 F F F 8 160-179 3 3 3 4 4 4 F F F 9 180-199 1 1 1 1 1 1 F F F 10 200-219 4 4 4 6 6 6 F F F 11 220-239 3 3 3 4 4 4 F F F 12 240-259 3 3 3 4 4 4 F F F 13 260-279 1 1 1 1 1 1 T T F <--- 14 280-299 4 4 4 6 6 6 T T F <--- 15 300-319 4 4 4 6 6 6 T T F <--- 16 320-339 6 6 1 8 8 1 T T F <--- 17 340-359 1 1 1 1 1 1 T T F <--- 18 360-379 1 1 1 1 1 1 T T F <--- 19 380-399 1 1 1 1 1 1 F F F 20 400-419 6 6 2 8 8 3 T T T <--- 21 420-439 6 6 5 8 8 7 F F T <--- 22 440-459 5 5 5 7 7 7 F F F 23 460-479 6 6 3 8 8 4 F F F <--- 24 480-499 6 6 5 8 8 7 F F F <--- 25 500-519 4 4 4 5 5 5 T T F <--- 26 520-539 2 2 2 3 3 3 F F F 27 540-559 3 3 3 4 4 4 F F F 28 560-579 6 6 1 8 8 1 T T F <--- 29 580-599 1 1 1 1 1 1 T T F <--- Max gen: 6, Max flush: 8 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 3 Verifying data now No change after verify Loop: 3 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 1 1 1 1 1 1 F F F 1 020-039 5 5 5 7 7 7 F F F 2 040-059 1 1 1 1 1 1 F F F 3 060-079 1 1 1 1 1 1 F F F 4 080-099 5 5 5 7 7 7 F F F 5 100-119 5 5 5 7 7 7 F F F 6 120-139 6 6 6 8 8 8 F F F 7 140-159 4 4 4 5 5 5 F F F 8 160-179 3 3 3 4 4 4 F F F 9 180-199 1 1 1 1 1 1 F F F 10 200-219 4 4 4 6 6 6 F F F 11 220-239 3 3 3 4 4 4 F F F 12 240-259 3 3 3 4 4 4 F F F 13 260-279 7 7 7 9 9 9 F F F 14 280-299 7 7 7 9 9 9 F F F 15 300-319 7 7 7 9 9 9 F F F 16 320-339 7 7 7 9 9 9 F F F 17 340-359 7 7 7 9 9 9 F F F 18 360-379 7 7 7 9 9 9 F F F 19 380-399 1 1 1 1 1 1 F F F 20 400-419 7 7 7 9 9 9 F F F 21 420-439 6 6 6 8 8 8 F F F 22 440-459 5 5 5 7 7 7 F F F 23 460-479 6 6 6 8 8 8 F F F 24 480-499 6 6 6 8 8 8 F F F 25 500-519 7 7 7 9 9 9 F F F 26 520-539 2 2 2 3 3 3 F F F 27 540-559 3 3 3 4 4 4 F F F 28 560-579 7 7 7 9 9 9 F F F 29 580-599 7 7 7 9 9 9 F F F Max gen: 7, Max flush: 9 Begin loop 4 Downstairs to restart: 1 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.197764188Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.205958657Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.206309842Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.206338459Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.206347088Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.206358786Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165} {"msg":"Crucible 0d517fc0-f914-4ba9-9eeb-ab3aa32be761 has session id: d2b087c2-6b87-4ae1-928f-f8412a3896af","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.206662837Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"Upstairs opts: Upstairs UUID: 0d517fc0-f914-4ba9-9eeb-ab3aa32be761, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.20671635Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"Crucible stats registered with UUID: 0d517fc0-f914-4ba9-9eeb-ab3aa32be761","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.206728879Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:42:19.206738227Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.206928153Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"":"io task","client":"1","":"downstairs","session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.20695536Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"":"io task","client":"0","":"downstairs","session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.206966428Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"":"io task","client":"2","":"downstairs","session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.207078094Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"task":"crutest"} {"msg":"The guest has requested activation with gen:8","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.207102221Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165} {"msg":"0d517fc0-f914-4ba9-9eeb-ab3aa32be761 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.207168212Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.207178001Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"client":"0","":"downstairs","session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.20718812Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"client":"1","":"downstairs","session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.207197958Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"client":"2","":"downstairs","session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.207207697Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"":"io task","client":"2","":"downstairs","session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.207217786Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"":"io task","client":"1","":"downstairs","session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.207227995Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"":"io task","client":"0","":"downstairs","session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"ds_connection connected from Ok(127.0.0.1:55883)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.207295326Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"":"io task","client":"0","":"downstairs","session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"ds_connection connected from Ok(127.0.0.1:62255)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.207320903Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"":"io task","client":"2","":"downstairs","session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"ds_connection connected from Ok(127.0.0.1:61098)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.207334531Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"":"io task","client":"1","":"downstairs","session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.207994606Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"client":"0","":"downstairs","session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.208014024Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"client":"2","":"downstairs","session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.208025142Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"client":"1","":"downstairs","session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.208307316Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.208344311Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"[0]R flush_numbers[0..12]: [1, 7, 1, 1, 7, 7, 8, 5, 4, 1, 6, 4]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.208415002Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"":"downstairs","":"downstairs","session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"[0]R generation[0..12]: [1, 5, 1, 1, 5, 5, 6, 4, 3, 1, 4, 3]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.208425901Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"":"downstairs","":"downstairs","session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.20843701Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"":"downstairs","":"downstairs","session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"[1]R flush_numbers[0..12]: [1, 7, 1, 1, 7, 7, 8, 5, 4, 1, 6, 4]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.208447638Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"":"downstairs","":"downstairs","session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"[1]R generation[0..12]: [1, 5, 1, 1, 5, 5, 6, 4, 3, 1, 4, 3]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.208457847Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"":"downstairs","":"downstairs","session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.208468835Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"":"downstairs","":"downstairs","session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"[2]R flush_numbers[0..12]: [1, 7, 1, 1, 7, 7, 8, 5, 4, 1, 6, 4]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.208479174Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"":"downstairs","":"downstairs","session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"[2]R generation[0..12]: [1, 5, 1, 1, 5, 5, 6, 4, 3, 1, 4, 3]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.208489443Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"":"downstairs","":"downstairs","session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.208502661Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"":"downstairs","":"downstairs","session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"Max found gen is 8","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.20851225Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"":"downstairs","":"downstairs","session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"Generation requested: 8 >= found:8","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.208522029Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"":"downstairs","":"downstairs","session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"Next flush: 10","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.208531587Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"":"downstairs","":"downstairs","session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.208541276Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"":"downstairs","":"downstairs","session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.208551605Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.208560764Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"client":"0","":"downstairs","session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.208570852Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"client":"1","":"downstairs","session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.208581101Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"client":"2","":"downstairs","session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.20859142Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.208600798Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"0d517fc0-f914-4ba9-9eeb-ab3aa32be761 is now active with session: d2b087c2-6b87-4ae1-928f-f8412a3896af","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.208610927Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.208619786Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"session_id":"d2b087c2-6b87-4ae1-928f-f8412a3896af"} {"msg":"The guest has finished waiting for activation with:8","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.208629065Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165} {"msg":"Activated sub_volume 0d517fc0-f914-4ba9-9eeb-ab3aa32be761","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.208637224Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.208645403Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.208956243Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"task":"crutest"} 01/30 Write block 326 len 20480 data: 3 3 3 4 3 02/30 Read block 399 len 28672 03/30 Read block 426 len 36864 04/30 Write block 533 len 40960 data: 2 2 2 2 2 2 2 3 3 3 05/30 Write block 515 len 20480 data: 2 2 2 2 2 06/30 Read block 454 len 4096 07/30 Read block 12 len 20480 08/30 Write block 562 len 36864 data: 2 2 2 2 3 3 3 3 3 09/30 Read block 498 len 24576 10/30 Flush 11/30 Write block 504 len 20480 data: 2 3 3 4 5 12/30 Read block 295 len 8192 13/30 Read block 44 len 24576 14/30 Write block 38 len 36864 data: 2 2 2 2 2 2 2 2 2 15/30 Read block 195 len 4096 16/30 Write block 558 len 4096 data: 2 17/30 Write block 443 len 16384 data: 2 2 2 2 18/30 Read block 344 len 28672 19/30 Write block 217 len 40960 data: 3 3 3 3 3 3 3 3 2 2 20/30 Read block 19 len 12288 21/30 Write block 550 len 40960 data: 2 2 2 2 2 2 2 2 3 2 22/30 Read block 335 len 36864 23/30 Write block 5 len 36864 data: 2 2 2 2 2 2 2 2 2 24/30 Read block 57 len 32768 25/30 Read block 365 len 12288 26/30 Write block 442 len 40960 data: 2 3 3 3 3 2 2 2 2 2 27/30 Read block 202 len 24576 28/30 Read block 515 len 4096 29/30 Read block 279 len 32768 30/30 Write block 488 len 12288 data: 3 3 3 ---------------------------------------------------------------- Crucible gen:8 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 5 Done Done Done false 1001 Acked Read 7 Done Sent Done false 1002 Acked Read 9 Done Sent Done false 1003 Acked Write 10 Done Sent Done false 1004 Acked Write 5 Done Sent Done false 1005 Acked Read 1 Done Sent Done false 1006 Acked Read 5 Done Sent Done false 1007 Acked Write 9 Done Sent Done false 1008 Acked Read 6 Done Sent Done false 1009 Acked Flush 0 Done Sent Done false 1010 Acked Write 5 Done Sent Done false 1011 Acked Read 2 Done Sent Done false 1012 Acked Read 6 Done Sent Done false 1013 Acked Write 9 Done Sent Done false 1014 Acked Read 1 Done Sent Done false 1015 Acked Write 1 Done Sent Done false 1016 Acked Write 4 Done Sent Done false 1017 Acked Read 7 Done Sent Done false 1018 Acked Write 10 Done Sent Done false 1019 Acked Read 3 Done Sent Done false 1020 Acked Write 10 Done Sent Done false 1021 Acked Read 9 Done Sent Done false 1022 Acked Write 9 Done Sent Done false 1023 Acked Read 8 Done Sent Done false 1024 Acked Read 3 Done Sent Done false 1025 Acked Write 10 Done Sent Done false 1026 Acked Read 6 Done Sent Done false 1027 Acked Read 1 Done Sent Done false 1028 Acked Read 8 Done Sent Done false 1029 Acked Write 3 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 1 29 1 31 Done 29 1 29 59 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1009)) None Some(JobId(1009)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:42:19.217751515Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:19.218062625Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1165,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 1 1 1 1 1 1 T F T <--- 1 020-039 5 5 5 7 7 7 T F T <--- 2 040-059 1 1 1 1 1 1 T F T <--- 3 060-079 1 1 1 1 1 1 F F F 4 080-099 5 5 5 7 7 7 F F F 5 100-119 5 5 5 7 7 7 F F F 6 120-139 6 6 6 8 8 8 F F F 7 140-159 4 4 4 5 5 5 F F F 8 160-179 3 3 3 4 4 4 F F F 9 180-199 1 1 1 1 1 1 F F F 10 200-219 4 4 4 6 6 6 T F T <--- 11 220-239 3 3 3 4 4 4 T F T <--- 12 240-259 3 3 3 4 4 4 F F F 13 260-279 7 7 7 9 9 9 F F F 14 280-299 7 7 7 9 9 9 F F F 15 300-319 7 7 7 9 9 9 F F F 16 320-339 8 7 8 10 9 10 F T F <--- 17 340-359 7 7 7 9 9 9 F F F 18 360-379 7 7 7 9 9 9 F F F 19 380-399 1 1 1 1 1 1 F F F 20 400-419 7 7 7 9 9 9 F F F 21 420-439 6 6 6 8 8 8 F F F 22 440-459 5 5 5 7 7 7 T F T <--- 23 460-479 6 6 6 8 8 8 F F F 24 480-499 6 6 6 8 8 8 T F T <--- 25 500-519 8 7 8 10 9 10 T F T <--- 26 520-539 8 2 8 10 3 10 F F F <--- 27 540-559 8 3 8 10 4 10 T F T <--- 28 560-579 8 7 8 10 9 10 F F F <--- 29 580-599 7 7 7 9 9 9 F F F Max gen: 8, Max flush: 10 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 4 Verifying data now No change after verify Loop: 4 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 9 9 9 11 11 11 F F F 1 020-039 9 9 9 11 11 11 F F F 2 040-059 9 9 9 11 11 11 F F F 3 060-079 1 1 1 1 1 1 F F F 4 080-099 5 5 5 7 7 7 F F F 5 100-119 5 5 5 7 7 7 F F F 6 120-139 6 6 6 8 8 8 F F F 7 140-159 4 4 4 5 5 5 F F F 8 160-179 3 3 3 4 4 4 F F F 9 180-199 1 1 1 1 1 1 F F F 10 200-219 9 9 9 11 11 11 F F F 11 220-239 9 9 9 11 11 11 F F F 12 240-259 3 3 3 4 4 4 F F F 13 260-279 7 7 7 9 9 9 F F F 14 280-299 7 7 7 9 9 9 F F F 15 300-319 7 7 7 9 9 9 F F F 16 320-339 8 8 8 10 10 10 F F F 17 340-359 7 7 7 9 9 9 F F F 18 360-379 7 7 7 9 9 9 F F F 19 380-399 1 1 1 1 1 1 F F F 20 400-419 7 7 7 9 9 9 F F F 21 420-439 6 6 6 8 8 8 F F F 22 440-459 9 9 9 11 11 11 F F F 23 460-479 6 6 6 8 8 8 F F F 24 480-499 9 9 9 11 11 11 F F F 25 500-519 9 9 9 11 11 11 F F F 26 520-539 8 8 8 10 10 10 F F F 27 540-559 9 9 9 11 11 11 F F F 28 560-579 8 8 8 10 10 10 F F F 29 580-599 7 7 7 9 9 9 F F F Max gen: 9, Max flush: 11 Begin loop 5 Downstairs to restart: 2 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.457344337Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.465485073Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.465792984Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.4658224Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.465831379Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.465843317Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173} {"msg":"Crucible e84f30a1-501e-4f1c-b777-346a62ff37fc has session id: 49951bba-54a7-4313-9db0-991bc9367f8c","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.466187203Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"Upstairs opts: Upstairs UUID: e84f30a1-501e-4f1c-b777-346a62ff37fc, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.46620825Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"Crucible stats registered with UUID: e84f30a1-501e-4f1c-b777-346a62ff37fc","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.466218629Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:42:23.466229198Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.466394587Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"":"io task","client":"0","":"downstairs","session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.466410095Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"":"io task","client":"2","":"downstairs","session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.466420233Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"":"io task","client":"1","":"downstairs","session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.466536618Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"task":"crutest"} {"msg":"The guest has requested activation with gen:10","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.466560235Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173} {"msg":"e84f30a1-501e-4f1c-b777-346a62ff37fc active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.466576583Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.466585592Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"client":"0","":"downstairs","session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.466595561Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"client":"1","":"downstairs","session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.46660545Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"client":"2","":"downstairs","session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.466615368Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"":"io task","client":"2","":"downstairs","session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.466628347Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"":"io task","client":"1","":"downstairs","session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.466638835Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"":"io task","client":"0","":"downstairs","session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"ds_connection connected from Ok(127.0.0.1:41439)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.466732923Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"":"io task","client":"1","":"downstairs","session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"ds_connection connected from Ok(127.0.0.1:48227)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.46675918Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"":"io task","client":"0","":"downstairs","session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"ds_connection connected from Ok(127.0.0.1:52736)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.466846389Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"":"io task","client":"2","":"downstairs","session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.467348494Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"client":"0","":"downstairs","session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.467365242Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"client":"1","":"downstairs","session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.467447901Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"client":"2","":"downstairs","session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.467685101Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.46769486Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"[0]R flush_numbers[0..12]: [11, 11, 11, 1, 7, 7, 8, 5, 4, 1, 11, 11]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.467758962Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"":"downstairs","":"downstairs","session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"[0]R generation[0..12]: [9, 9, 9, 1, 5, 5, 6, 4, 3, 1, 9, 9]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.46777007Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"":"downstairs","":"downstairs","session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.467781329Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"":"downstairs","":"downstairs","session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"[1]R flush_numbers[0..12]: [11, 11, 11, 1, 7, 7, 8, 5, 4, 1, 11, 11]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.467791977Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"":"downstairs","":"downstairs","session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"[1]R generation[0..12]: [9, 9, 9, 1, 5, 5, 6, 4, 3, 1, 9, 9]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.467802266Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"":"downstairs","":"downstairs","session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.467813215Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"":"downstairs","":"downstairs","session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"[2]R flush_numbers[0..12]: [11, 11, 11, 1, 7, 7, 8, 5, 4, 1, 11, 11]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.467825873Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"":"downstairs","":"downstairs","session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"[2]R generation[0..12]: [9, 9, 9, 1, 5, 5, 6, 4, 3, 1, 9, 9]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.467836122Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"":"downstairs","":"downstairs","session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.46784711Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"":"downstairs","":"downstairs","session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"Max found gen is 10","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.467856659Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"":"downstairs","":"downstairs","session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"Generation requested: 10 >= found:10","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.467866528Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"":"downstairs","":"downstairs","session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"Next flush: 12","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.467875997Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"":"downstairs","":"downstairs","session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.467885595Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"":"downstairs","":"downstairs","session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.467895464Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.467904353Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"client":"0","":"downstairs","session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.467914192Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"client":"1","":"downstairs","session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.46792397Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"client":"2","":"downstairs","session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.467934039Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.467943398Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"e84f30a1-501e-4f1c-b777-346a62ff37fc is now active with session: 49951bba-54a7-4313-9db0-991bc9367f8c","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.467953467Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.467962296Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"session_id":"49951bba-54a7-4313-9db0-991bc9367f8c"} {"msg":"The guest has finished waiting for activation with:10","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.467971524Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173} {"msg":"Activated sub_volume e84f30a1-501e-4f1c-b777-346a62ff37fc","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.467981163Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.467989462Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.468366564Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"task":"crutest"} 01/30 Flush 02/30 Write block 482 len 32768 data: 3 2 3 3 3 3 4 4 03/30 Read block 144 len 36864 04/30 Write block 479 len 4096 data: 3 05/30 Read block 167 len 40960 06/30 Read block 505 len 40960 07/30 Flush 08/30 Write block 419 len 32768 data: 3 4 4 3 3 3 2 2 09/30 Read block 364 len 40960 10/30 Read block 205 len 24576 11/30 Write block 275 len 32768 data: 3 3 3 3 2 2 2 2 12/30 Write block 449 len 40960 data: 3 3 3 2 2 2 3 3 2 2 13/30 Write block 199 len 36864 data: 2 2 2 2 2 2 2 2 2 14/30 Write block 265 len 36864 data: 2 2 2 2 2 2 3 3 3 15/30 Read block 52 len 16384 16/30 Write block 153 len 28672 data: 2 2 2 2 2 2 2 17/30 Read block 585 len 40960 18/30 Write block 591 len 28672 data: 2 2 2 2 2 2 2 19/30 Read block 379 len 32768 20/30 Write block 576 len 4096 data: 3 21/30 Read block 0 len 20480 22/30 Write block 130 len 16384 data: 3 3 3 3 23/30 Write block 586 len 20480 data: 2 2 2 2 2 24/30 Flush 25/30 Write block 18 len 28672 data: 2 2 2 2 2 2 2 26/30 Read block 458 len 20480 27/30 Read block 563 len 8192 28/30 Read block 587 len 20480 29/30 Read block 258 len 28672 30/30 Read block 66 len 24576 ---------------------------------------------------------------- Crucible gen:10 GIO:true work queues: Upstairs:0 downstairs:23 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1007 Acked Write 8 Done Done Done false 1008 Acked Read 10 Done Done Done false 1009 Acked Read 6 Done Done Done false 1010 Acked Write 8 Done Done Done false 1011 Acked Write 10 Done Done Done false 1012 Acked Write 9 Done Done Done false 1013 Acked Write 9 Done Done Sent false 1014 Acked Read 4 Done Done Sent false 1015 Acked Write 7 Done Done Sent false 1016 Acked Read 10 Done Done Sent false 1017 Acked Write 7 Done Done Sent false 1018 Acked Read 8 Done Done Sent false 1019 Acked Write 1 Done Done Sent false 1020 Acked Read 5 Done Done Sent false 1021 Acked Write 4 Done Done Sent false 1022 Acked Write 5 Done Done Sent false 1023 Acked Flush 0 Done Done Sent false 1024 Acked Write 7 Done Done Sent false 1025 Acked Read 5 Done Done Sent false 1026 Acked Read 2 Done Done Sent false 1027 Acked Read 5 Done Done Sent false 1028 Acked Read 7 Done Done Sent false 1029 Acked Read 6 Done Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 0 1 17 18 Done 23 22 6 51 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1023)) Some(JobId(1023)) Some(JobId(1006)) Downstairs last five completed: 1006 1005 1004 1003 1002 Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:42:23.477024433Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:23.477293809Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1173,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 9 9 9 11 11 11 T T F <--- 1 020-039 9 9 9 11 11 11 T T F <--- 2 040-059 9 9 9 11 11 11 F F F 3 060-079 1 1 1 1 1 1 F F F 4 080-099 5 5 5 7 7 7 F F F 5 100-119 5 5 5 7 7 7 F F F 6 120-139 10 10 6 14 14 8 F F F <--- 7 140-159 10 10 4 14 14 5 F F F <--- 8 160-179 3 3 3 4 4 4 F F F 9 180-199 10 10 1 14 14 1 F F T <--- 10 200-219 10 10 9 14 14 11 F F T <--- 11 220-239 9 9 9 11 11 11 F F F 12 240-259 3 3 3 4 4 4 F F F 13 260-279 10 10 7 14 14 9 F F T <--- 14 280-299 10 10 7 14 14 9 F F T <--- 15 300-319 7 7 7 9 9 9 F F F 16 320-339 8 8 8 10 10 10 F F F 17 340-359 7 7 7 9 9 9 F F F 18 360-379 7 7 7 9 9 9 F F F 19 380-399 1 1 1 1 1 1 F F F 20 400-419 10 10 7 14 14 9 F F T <--- 21 420-439 10 10 6 14 14 8 F F T <--- 22 440-459 10 10 9 14 14 11 F F T <--- 23 460-479 10 10 10 13 13 13 F F F 24 480-499 10 10 10 13 13 13 F F F 25 500-519 9 9 9 11 11 11 F F F 26 520-539 8 8 8 10 10 10 F F F 27 540-559 9 9 9 11 11 11 F F F 28 560-579 10 10 8 14 14 10 F F F <--- 29 580-599 10 10 7 14 14 9 F F F <--- Max gen: 10, Max flush: 14 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 5 Verifying data now No change after verify Loop: 5 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 11 11 11 15 15 15 F F F 1 020-039 11 11 11 15 15 15 F F F 2 040-059 9 9 9 11 11 11 F F F 3 060-079 1 1 1 1 1 1 F F F 4 080-099 5 5 5 7 7 7 F F F 5 100-119 5 5 5 7 7 7 F F F 6 120-139 10 10 10 14 14 14 F F F 7 140-159 10 10 10 14 14 14 F F F 8 160-179 3 3 3 4 4 4 F F F 9 180-199 10 10 10 14 14 14 F F F 10 200-219 10 10 10 14 14 14 F F F 11 220-239 9 9 9 11 11 11 F F F 12 240-259 3 3 3 4 4 4 F F F 13 260-279 10 10 10 14 14 14 F F F 14 280-299 10 10 10 14 14 14 F F F 15 300-319 7 7 7 9 9 9 F F F 16 320-339 8 8 8 10 10 10 F F F 17 340-359 7 7 7 9 9 9 F F F 18 360-379 7 7 7 9 9 9 F F F 19 380-399 1 1 1 1 1 1 F F F 20 400-419 10 10 10 14 14 14 F F F 21 420-439 10 10 10 14 14 14 F F F 22 440-459 10 10 10 14 14 14 F F F 23 460-479 10 10 10 13 13 13 F F F 24 480-499 10 10 10 13 13 13 F F F 25 500-519 9 9 9 11 11 11 F F F 26 520-539 8 8 8 10 10 10 F F F 27 540-559 9 9 9 11 11 11 F F F 28 560-579 10 10 10 14 14 14 F F F 29 580-599 10 10 10 14 14 14 F F F Max gen: 11, Max flush: 15 Begin loop 6 Downstairs to restart: 1 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.715690384Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.723777707Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.724097246Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.724133502Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.72414293Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.724154919Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181} {"msg":"Crucible 380620bc-01bb-45c6-b88c-6d527b839ac1 has session id: 74aa5601-6cc1-4740-9aa7-4dd1296af2a2","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.724547449Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"Upstairs opts: Upstairs UUID: 380620bc-01bb-45c6-b88c-6d527b839ac1, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.724594443Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"Crucible stats registered with UUID: 380620bc-01bb-45c6-b88c-6d527b839ac1","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.724605581Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:42:27.72461495Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.724781968Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"":"io task","client":"1","":"downstairs","session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.724797397Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"":"io task","client":"2","":"downstairs","session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.724807735Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"":"io task","client":"0","":"downstairs","session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.72492969Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"task":"crutest"} {"msg":"The guest has requested activation with gen:12","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.724946117Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181} {"msg":"380620bc-01bb-45c6-b88c-6d527b839ac1 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.724969934Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.724979563Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"client":"0","":"downstairs","session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.724989392Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"client":"1","":"downstairs","session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.724999211Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"client":"2","":"downstairs","session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.725017658Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"":"io task","client":"2","":"downstairs","session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.725027947Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"":"io task","client":"1","":"downstairs","session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.725038066Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"":"io task","client":"0","":"downstairs","session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"ds_connection connected from Ok(127.0.0.1:54701)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.725094948Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"":"io task","client":"2","":"downstairs","session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"ds_connection connected from Ok(127.0.0.1:46194)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.725106197Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"":"io task","client":"0","":"downstairs","session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"ds_connection connected from Ok(127.0.0.1:56447)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.725198235Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"":"io task","client":"1","":"downstairs","session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.725791379Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"client":"0","":"downstairs","session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.725813806Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"client":"2","":"downstairs","session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.725825295Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"client":"1","":"downstairs","session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.726084441Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.726124726Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"[0]R flush_numbers[0..12]: [15, 15, 11, 1, 7, 7, 14, 14, 4, 14, 14, 11]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.72617233Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"":"downstairs","":"downstairs","session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"[0]R generation[0..12]: [11, 11, 9, 1, 5, 5, 10, 10, 3, 10, 10, 9]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.726183799Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"":"downstairs","":"downstairs","session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.726195237Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"":"downstairs","":"downstairs","session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"[1]R flush_numbers[0..12]: [15, 15, 11, 1, 7, 7, 14, 14, 4, 14, 14, 11]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.726205736Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"":"downstairs","":"downstairs","session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"[1]R generation[0..12]: [11, 11, 9, 1, 5, 5, 10, 10, 3, 10, 10, 9]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.726216275Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"":"downstairs","":"downstairs","session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.726227413Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"":"downstairs","":"downstairs","session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"[2]R flush_numbers[0..12]: [15, 15, 11, 1, 7, 7, 14, 14, 4, 14, 14, 11]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.726240022Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"":"downstairs","":"downstairs","session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"[2]R generation[0..12]: [11, 11, 9, 1, 5, 5, 10, 10, 3, 10, 10, 9]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.7262505Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"":"downstairs","":"downstairs","session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.726261849Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"":"downstairs","":"downstairs","session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"Max found gen is 12","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.726271467Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"":"downstairs","":"downstairs","session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"Generation requested: 12 >= found:12","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.726281386Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"":"downstairs","":"downstairs","session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"Next flush: 16","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.726290835Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"":"downstairs","":"downstairs","session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.726300444Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"":"downstairs","":"downstairs","session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.726310682Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.726319861Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"client":"0","":"downstairs","session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.7263302Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"client":"1","":"downstairs","session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.726340049Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"client":"2","":"downstairs","session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.726350047Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.726359326Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"380620bc-01bb-45c6-b88c-6d527b839ac1 is now active with session: 74aa5601-6cc1-4740-9aa7-4dd1296af2a2","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.726369405Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.726378274Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"session_id":"74aa5601-6cc1-4740-9aa7-4dd1296af2a2"} {"msg":"The guest has finished waiting for activation with:12","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.726387383Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181} {"msg":"Activated sub_volume 380620bc-01bb-45c6-b88c-6d527b839ac1","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.726396761Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.72640499Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.726745097Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"task":"crutest"} 01/30 Write block 449 len 16384 data: 4 4 4 3 02/30 Read block 137 len 24576 03/30 Write block 358 len 36864 data: 4 4 5 4 4 4 2 2 2 04/30 Write block 139 len 28672 data: 3 3 3 3 3 3 3 05/30 Write block 44 len 32768 data: 3 3 3 2 2 2 2 2 06/30 Write block 400 len 16384 data: 2 2 2 2 07/30 Write block 81 len 8192 data: 2 2 08/30 Read block 321 len 40960 09/30 Write block 440 len 24576 data: 2 2 3 4 4 4 10/30 Write block 338 len 4096 data: 2 11/30 Write block 18 len 24576 data: 3 3 3 3 3 3 12/30 Write block 460 len 20480 data: 2 3 3 2 2 13/30 Read block 469 len 8192 14/30 Read block 83 len 8192 15/30 Write block 154 len 24576 data: 3 3 3 3 3 3 16/30 Write block 183 len 32768 data: 2 2 2 2 2 2 2 2 17/30 Write block 367 len 28672 data: 2 2 2 2 2 2 2 18/30 Read block 224 len 12288 19/30 Read block 226 len 12288 20/30 Flush 21/30 Write block 154 len 28672 data: 4 4 4 4 4 4 2 22/30 Write block 146 len 32768 data: 3 2 2 2 2 2 2 3 23/30 Read block 594 len 12288 24/30 Read block 45 len 20480 25/30 Flush 26/30 Write block 307 len 4096 data: 2 27/30 Write block 193 len 4096 data: 2 28/30 Write block 235 len 24576 data: 3 3 3 2 2 2 29/30 Write block 217 len 8192 data: 4 4 30/30 Write block 33 len 36864 data: 3 3 3 3 3 3 3 3 3 ---------------------------------------------------------------- Crucible gen:12 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 4 Done Done Done false 1001 Acked Read 6 Done Done Done false 1002 Acked Write 9 Done Sent Done false 1003 Acked Write 7 Done Sent Done false 1004 Acked Write 8 Done Sent Done false 1005 Acked Write 4 Done Sent Done false 1006 Acked Write 2 Done Sent Done false 1007 Acked Read 10 Done Sent Done false 1008 Acked Write 6 Done Sent Done false 1009 Acked Write 1 Done Sent Done false 1010 Acked Write 6 Done Sent Done false 1011 Acked Write 5 Done Sent Done false 1012 Acked Read 2 Done Sent Done false 1013 Acked Read 2 Done Sent Done false 1014 Acked Write 6 Done Sent Done false 1015 Acked Write 8 Done Sent Done false 1016 Acked Write 7 Done Sent Done false 1017 Acked Read 3 Done Sent Done false 1018 Acked Read 3 Done Sent Done false 1019 Acked Flush 0 Done Sent Done false 1020 Acked Write 7 Done Sent Done false 1021 Acked Write 8 Done Sent Done false 1022 Acked Read 3 Done Sent Done false 1023 Acked Read 5 Done Sent Done false 1024 Acked Flush 0 Done Sent Done false 1025 Acked Write 1 Done Sent Done false 1026 Acked Write 1 Done Sent Done false 1027 Acked Write 6 Sent Sent Sent false 1028 Acked Write 2 Sent Sent Sent false 1029 Acked Write 9 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 3 28 3 34 Done 27 2 27 56 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1024)) None Some(JobId(1024)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:42:27.733028061Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:27.733306905Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1181,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 12 11 12 16 15 16 F F F <--- 1 020-039 12 11 12 16 15 16 T F T <--- 2 040-059 12 9 12 16 11 16 T F T <--- 3 060-079 1 1 1 1 1 1 F F F 4 080-099 12 5 12 16 7 16 F F F <--- 5 100-119 5 5 5 7 7 7 F F F 6 120-139 12 10 12 16 14 16 F F F <--- 7 140-159 12 10 12 17 14 17 F F F <--- 8 160-179 12 3 12 17 4 17 F F F <--- 9 180-199 12 10 12 16 14 16 T F T <--- 10 200-219 10 10 10 14 14 14 T F T <--- 11 220-239 9 9 9 11 11 11 T F T <--- 12 240-259 3 3 3 4 4 4 T F T <--- 13 260-279 10 10 10 14 14 14 F F F 14 280-299 10 10 10 14 14 14 F F F 15 300-319 7 7 7 9 9 9 T F T <--- 16 320-339 12 8 12 16 10 16 F F F <--- 17 340-359 12 7 12 16 9 16 F F F <--- 18 360-379 12 7 12 16 9 16 F F F <--- 19 380-399 1 1 1 1 1 1 F F F 20 400-419 12 10 12 16 14 16 F F F <--- 21 420-439 10 10 10 14 14 14 F F F 22 440-459 12 10 12 16 14 16 F T F <--- 23 460-479 12 10 12 16 13 16 F F F <--- 24 480-499 10 10 10 13 13 13 F F F 25 500-519 9 9 9 11 11 11 F F F 26 520-539 8 8 8 10 10 10 F F F 27 540-559 9 9 9 11 11 11 F F F 28 560-579 10 10 10 14 14 14 F F F 29 580-599 10 10 10 14 14 14 F F F Max gen: 12, Max flush: 17 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 6 Verifying data now No change after verify Loop: 6 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 12 12 12 16 16 16 F F F 1 020-039 13 13 13 18 18 18 F F F 2 040-059 13 13 13 18 18 18 F F F 3 060-079 1 1 1 1 1 1 F F F 4 080-099 12 12 12 16 16 16 F F F 5 100-119 5 5 5 7 7 7 F F F 6 120-139 12 12 12 16 16 16 F F F 7 140-159 12 12 12 17 17 17 F F F 8 160-179 12 12 12 17 17 17 F F F 9 180-199 13 13 13 18 18 18 F F F 10 200-219 13 13 13 18 18 18 F F F 11 220-239 13 13 13 18 18 18 F F F 12 240-259 13 13 13 18 18 18 F F F 13 260-279 10 10 10 14 14 14 F F F 14 280-299 10 10 10 14 14 14 F F F 15 300-319 13 13 13 18 18 18 F F F 16 320-339 12 12 12 16 16 16 F F F 17 340-359 12 12 12 16 16 16 F F F 18 360-379 12 12 12 16 16 16 F F F 19 380-399 1 1 1 1 1 1 F F F 20 400-419 12 12 12 16 16 16 F F F 21 420-439 10 10 10 14 14 14 F F F 22 440-459 12 12 12 16 16 16 F F F 23 460-479 12 12 12 16 16 16 F F F 24 480-499 10 10 10 13 13 13 F F F 25 500-519 9 9 9 11 11 11 F F F 26 520-539 8 8 8 10 10 10 F F F 27 540-559 9 9 9 11 11 11 F F F 28 560-579 10 10 10 14 14 14 F F F 29 580-599 10 10 10 14 14 14 F F F Max gen: 13, Max flush: 18 Begin loop 7 Downstairs to restart: 1 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.982005389Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.990301905Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.990636002Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.990666518Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.990677207Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.990688755Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189} {"msg":"Crucible c8e082a2-3467-4686-a012-8e778c7d23cc has session id: 906a9136-ed5b-4043-86dc-2e00aa4f4b70","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.991055868Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"Upstairs opts: Upstairs UUID: c8e082a2-3467-4686-a012-8e778c7d23cc, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.991085574Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"Crucible stats registered with UUID: c8e082a2-3467-4686-a012-8e778c7d23cc","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.991096743Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:42:31.991106132Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.991279059Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"":"io task","client":"2","":"downstairs","session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.991294827Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"":"io task","client":"0","":"downstairs","session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.991305056Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"":"io task","client":"1","":"downstairs","session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.991437379Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"task":"crutest"} {"msg":"The guest has requested activation with gen:14","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.991469145Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189} {"msg":"c8e082a2-3467-4686-a012-8e778c7d23cc active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.991480584Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.991489712Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"client":"0","":"downstairs","session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.991499531Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"client":"1","":"downstairs","session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.9915093Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"client":"2","":"downstairs","session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.991521378Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"":"io task","client":"2","":"downstairs","session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.991531577Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"":"io task","client":"1","":"downstairs","session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.991541716Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"":"io task","client":"0","":"downstairs","session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"ds_connection connected from Ok(127.0.0.1:49467)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.991600698Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"":"io task","client":"2","":"downstairs","session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"ds_connection connected from Ok(127.0.0.1:49231)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.991626245Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"":"io task","client":"1","":"downstairs","session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"ds_connection connected from Ok(127.0.0.1:51815)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.991637643Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"":"io task","client":"0","":"downstairs","session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.99221052Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"client":"2","":"downstairs","session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.992223668Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"client":"1","":"downstairs","session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.992234767Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"client":"0","":"downstairs","session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.99252162Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.992531479Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"[0]R flush_numbers[0..12]: [16, 18, 18, 1, 16, 7, 16, 17, 17, 18, 18, 18]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.992572264Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"":"downstairs","":"downstairs","session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"[0]R generation[0..12]: [12, 13, 13, 1, 12, 5, 12, 12, 12, 13, 13, 13]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.992583462Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"":"downstairs","":"downstairs","session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.992594601Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"":"downstairs","":"downstairs","session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"[1]R flush_numbers[0..12]: [16, 18, 18, 1, 16, 7, 16, 17, 17, 18, 18, 18]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.992605129Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"":"downstairs","":"downstairs","session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"[1]R generation[0..12]: [12, 13, 13, 1, 12, 5, 12, 12, 12, 13, 13, 13]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.992618108Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"":"downstairs","":"downstairs","session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.992629166Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"":"downstairs","":"downstairs","session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"[2]R flush_numbers[0..12]: [16, 18, 18, 1, 16, 7, 16, 17, 17, 18, 18, 18]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.992639575Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"":"downstairs","":"downstairs","session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"[2]R generation[0..12]: [12, 13, 13, 1, 12, 5, 12, 12, 12, 13, 13, 13]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.992650044Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"":"downstairs","":"downstairs","session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.992661102Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"":"downstairs","":"downstairs","session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"Max found gen is 14","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.992670751Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"":"downstairs","":"downstairs","session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"Generation requested: 14 >= found:14","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.99268056Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"":"downstairs","":"downstairs","session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"Next flush: 19","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.992689908Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"":"downstairs","":"downstairs","session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.992699467Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"":"downstairs","":"downstairs","session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.992709276Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.992718205Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"client":"0","":"downstairs","session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.992728094Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"client":"1","":"downstairs","session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.992738042Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"client":"2","":"downstairs","session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.992748171Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.9927574Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"c8e082a2-3467-4686-a012-8e778c7d23cc is now active with session: 906a9136-ed5b-4043-86dc-2e00aa4f4b70","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.992768878Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.992777697Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"session_id":"906a9136-ed5b-4043-86dc-2e00aa4f4b70"} {"msg":"The guest has finished waiting for activation with:14","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.992786906Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189} {"msg":"Activated sub_volume c8e082a2-3467-4686-a012-8e778c7d23cc","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.992795335Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.992803754Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:31.993121673Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"task":"crutest"} 01/30 Write block 219 len 32768 data: 4 4 4 4 4 4 3 3 02/30 Write block 192 len 28672 data: 2 3 2 2 2 2 2 03/30 Flush 04/30 Write block 357 len 40960 data: 4 5 5 6 5 5 5 3 3 3 05/30 Flush 06/30 Write block 340 len 12288 data: 2 2 2 07/30 Read block 348 len 28672 08/30 Read block 34 len 32768 09/30 Read block 454 len 8192 10/30 Read block 375 len 20480 11/30 Read block 160 len 32768 12/30 Write block 140 len 24576 data: 4 4 4 4 4 4 13/30 Write block 215 len 12288 data: 3 3 5 14/30 Write block 286 len 16384 data: 2 2 2 2 15/30 Read block 369 len 20480 16/30 Read block 503 len 28672 17/30 Write block 208 len 32768 data: 2 2 3 3 3 3 3 4 18/30 Read block 440 len 20480 19/30 Read block 31 len 28672 20/30 Read block 532 len 12288 21/30 Read block 587 len 32768 22/30 Read block 398 len 16384 23/30 Flush 24/30 Write block 162 len 40960 data: 2 2 2 2 2 2 2 3 3 3 25/30 Read block 592 len 20480 26/30 Read block 268 len 36864 27/30 Read block 442 len 40960 28/30 Read block 189 len 36864 29/30 Read block 515 len 32768 30/30 Write block 468 len 28672 data: 2 3 3 4 4 4 4 ---------------------------------------------------------------- Crucible gen:14 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 8 Done Done Done false 1001 Acked Write 7 Done Done Done false 1002 Acked Flush 0 Done Sent Done false 1003 Acked Write 10 Done Sent Done false 1004 Acked Flush 0 Done Sent Done false 1005 Acked Write 3 Done Sent Done false 1006 Acked Read 7 Done Sent Done false 1007 Acked Read 8 Done Sent Done false 1008 Acked Read 2 Done Sent Done false 1009 Acked Read 5 Done Sent Done false 1010 Acked Read 8 Done Sent Done false 1011 Acked Write 6 Done Sent Done false 1012 Acked Write 3 Done Sent Done false 1013 Acked Write 4 Done Sent Done false 1014 Acked Read 5 Done Sent Done false 1015 Acked Read 7 Done Sent Done false 1016 Acked Write 8 Done Sent Done false 1017 Acked Read 5 Done Sent Done false 1018 Acked Read 7 Done Sent Done false 1019 Acked Read 3 Done Sent Done false 1020 Acked Read 8 Done Sent Done false 1021 Acked Read 4 Done Sent Done false 1022 Acked Flush 0 Done Sent Done false 1023 Acked Write 10 Done Sent Done false 1024 Acked Read 5 Done Sent Done false 1025 Acked Read 9 Done Sent Done false 1026 Acked Read 10 Done Sent Done false 1027 Acked Read 9 Done Sent Done false 1028 Acked Read 8 Done Sent Done false 1029 Acked Write 7 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 1 28 1 30 Done 29 2 29 60 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1022)) None Some(JobId(1022)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:42:32.001277377Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:32.001561651Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1189,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 12 12 12 16 16 16 F F F 1 020-039 13 13 13 18 18 18 F F F 2 040-059 13 13 13 18 18 18 F F F 3 060-079 1 1 1 1 1 1 F F F 4 080-099 12 12 12 16 16 16 F F F 5 100-119 5 5 5 7 7 7 F F F 6 120-139 12 12 12 16 16 16 F F F 7 140-159 14 12 14 21 17 21 F F F <--- 8 160-179 12 12 12 17 17 17 T F T <--- 9 180-199 14 13 14 19 18 19 F T F <--- 10 200-219 14 13 14 21 18 21 F T F <--- 11 220-239 14 13 14 19 18 19 F T F <--- 12 240-259 13 13 13 18 18 18 F F F 13 260-279 10 10 10 14 14 14 F F F 14 280-299 14 10 14 21 14 21 F F F <--- 15 300-319 13 13 13 18 18 18 F F F 16 320-339 12 12 12 16 16 16 F F F 17 340-359 14 12 14 21 16 21 F F F <--- 18 360-379 14 12 14 20 16 20 F F F <--- 19 380-399 1 1 1 1 1 1 F F F 20 400-419 12 12 12 16 16 16 F F F 21 420-439 10 10 10 14 14 14 F F F 22 440-459 12 12 12 16 16 16 F F F 23 460-479 12 12 12 16 16 16 T F T <--- 24 480-499 10 10 10 13 13 13 F F F 25 500-519 9 9 9 11 11 11 F F F 26 520-539 8 8 8 10 10 10 F F F 27 540-559 9 9 9 11 11 11 F F F 28 560-579 10 10 10 14 14 14 F F F 29 580-599 10 10 10 14 14 14 F F F Max gen: 14, Max flush: 21 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 7 Verifying data now No change after verify Loop: 7 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 12 12 12 16 16 16 F F F 1 020-039 13 13 13 18 18 18 F F F 2 040-059 13 13 13 18 18 18 F F F 3 060-079 1 1 1 1 1 1 F F F 4 080-099 12 12 12 16 16 16 F F F 5 100-119 5 5 5 7 7 7 F F F 6 120-139 12 12 12 16 16 16 F F F 7 140-159 14 14 14 21 21 21 F F F 8 160-179 15 15 15 22 22 22 F F F 9 180-199 14 14 14 19 19 19 F F F 10 200-219 14 14 14 21 21 21 F F F 11 220-239 14 14 14 19 19 19 F F F 12 240-259 13 13 13 18 18 18 F F F 13 260-279 10 10 10 14 14 14 F F F 14 280-299 14 14 14 21 21 21 F F F 15 300-319 13 13 13 18 18 18 F F F 16 320-339 12 12 12 16 16 16 F F F 17 340-359 14 14 14 21 21 21 F F F 18 360-379 14 14 14 20 20 20 F F F 19 380-399 1 1 1 1 1 1 F F F 20 400-419 12 12 12 16 16 16 F F F 21 420-439 10 10 10 14 14 14 F F F 22 440-459 12 12 12 16 16 16 F F F 23 460-479 15 15 15 22 22 22 F F F 24 480-499 10 10 10 13 13 13 F F F 25 500-519 9 9 9 11 11 11 F F F 26 520-539 8 8 8 10 10 10 F F F 27 540-559 9 9 9 11 11 11 F F F 28 560-579 10 10 10 14 14 14 F F F 29 580-599 10 10 10 14 14 14 F F F Max gen: 15, Max flush: 22 Begin loop 8 Downstairs to restart: 0 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.230143626Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"task":"crutest"} {"msg":"Failed to get info from \"http://127.0.0.1:12810\" Communication Error: error sending request for url (http://127.0.0.1:12810/region-info)","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:42:36.23728766Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"task":"crutest"} {"msg":"look at: http://127.0.0.1:12820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.237354371Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008820, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.244213422Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.244482257Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.244518203Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.244527171Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.24453868Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197} {"msg":"Crucible 6ad2c306-ac8e-43f9-afdb-855fcd4b338e has session id: 7e39ea1c-f74d-4a1a-9caa-7e65d056d659","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.24484831Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"Upstairs opts: Upstairs UUID: 6ad2c306-ac8e-43f9-afdb-855fcd4b338e, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.244897274Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"Crucible stats registered with UUID: 6ad2c306-ac8e-43f9-afdb-855fcd4b338e","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.244909442Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:42:36.244918981Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.245078901Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"":"io task","client":"2","":"downstairs","session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.245107977Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"":"io task","client":"1","":"downstairs","session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.245119125Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"":"io task","client":"0","":"downstairs","session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.245248629Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"task":"crutest"} {"msg":"The guest has requested activation with gen:16","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.245264237Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197} {"msg":"6ad2c306-ac8e-43f9-afdb-855fcd4b338e active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.245277075Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.245287904Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"client":"0","":"downstairs","session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.245297903Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"client":"1","":"downstairs","session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.245307721Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"client":"2","":"downstairs","session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.24531753Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"":"io task","client":"2","":"downstairs","session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.245345426Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"":"io task","client":"0","":"downstairs","session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.245363444Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"":"io task","client":"1","":"downstairs","session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"ds_connection connected from Ok(127.0.0.1:44083)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.245383452Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"":"io task","client":"1","":"downstairs","session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"ds_connection connected from Ok(127.0.0.1:34550)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.24539405Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"":"io task","client":"2","":"downstairs","session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"ds_connection connected from Ok(127.0.0.1:51275)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.24547207Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"":"io task","client":"0","":"downstairs","session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.246079772Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"client":"1","":"downstairs","session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.24609998Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"client":"2","":"downstairs","session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.246111298Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"client":"0","":"downstairs","session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.246389223Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.246400121Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"[0]R flush_numbers[0..12]: [16, 18, 18, 1, 16, 7, 16, 21, 22, 19, 21, 19]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.246430067Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"":"downstairs","":"downstairs","session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"[0]R generation[0..12]: [12, 13, 13, 1, 12, 5, 12, 14, 15, 14, 14, 14]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.246443376Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"":"downstairs","":"downstairs","session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.246454594Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"":"downstairs","":"downstairs","session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"[1]R flush_numbers[0..12]: [16, 18, 18, 1, 16, 7, 16, 21, 22, 19, 21, 19]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.246465193Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"":"downstairs","":"downstairs","session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"[1]R generation[0..12]: [12, 13, 13, 1, 12, 5, 12, 14, 15, 14, 14, 14]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.246475611Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"":"downstairs","":"downstairs","session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.24648673Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"":"downstairs","":"downstairs","session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"[2]R flush_numbers[0..12]: [16, 18, 18, 1, 16, 7, 16, 21, 22, 19, 21, 19]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.246497289Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"":"downstairs","":"downstairs","session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"[2]R generation[0..12]: [12, 13, 13, 1, 12, 5, 12, 14, 15, 14, 14, 14]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.246507737Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"":"downstairs","":"downstairs","session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.246518626Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"":"downstairs","":"downstairs","session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"Max found gen is 16","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.246528115Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"":"downstairs","":"downstairs","session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"Generation requested: 16 >= found:16","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.246537934Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"":"downstairs","":"downstairs","session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"Next flush: 23","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.246547502Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"":"downstairs","":"downstairs","session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.246557111Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"":"downstairs","":"downstairs","session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.24656707Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.246580478Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"client":"0","":"downstairs","session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.246590667Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"client":"1","":"downstairs","session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.246601505Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"client":"2","":"downstairs","session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.246611794Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.246621173Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"6ad2c306-ac8e-43f9-afdb-855fcd4b338e is now active with session: 7e39ea1c-f74d-4a1a-9caa-7e65d056d659","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.246631142Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.24664Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"session_id":"7e39ea1c-f74d-4a1a-9caa-7e65d056d659"} {"msg":"The guest has finished waiting for activation with:16","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.246649329Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197} {"msg":"Activated sub_volume 6ad2c306-ac8e-43f9-afdb-855fcd4b338e","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.246657448Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.246665697Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.247007493Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"task":"crutest"} 01/30 Write block 537 len 32768 data: 3 3 3 4 4 4 3 3 02/30 Write block 70 len 28672 data: 2 2 2 2 2 2 2 03/30 Read block 486 len 32768 04/30 Write block 292 len 36864 data: 2 2 2 3 3 4 5 4 4 05/30 Read block 73 len 20480 06/30 Read block 383 len 24576 07/30 Read block 83 len 28672 08/30 Flush 09/30 Write block 203 len 4096 data: 3 10/30 Flush 11/30 Write block 191 len 20480 data: 2 3 4 3 3 12/30 Read block 9 len 40960 13/30 Read block 99 len 36864 14/30 Read block 6 len 32768 15/30 Read block 467 len 36864 16/30 Write block 547 len 20480 data: 3 2 2 3 3 17/30 Flush 18/30 Write block 440 len 4096 data: 3 19/30 Read block 337 len 12288 20/30 Read block 541 len 12288 21/30 Read block 336 len 24576 22/30 Flush 23/30 Write block 354 len 24576 data: 4 4 4 5 6 6 24/30 Read block 374 len 8192 25/30 Read block 395 len 28672 26/30 Read block 373 len 32768 27/30 Read block 358 len 12288 28/30 Write block 120 len 16384 data: 2 2 2 2 29/30 Read block 110 len 28672 30/30 Read block 77 len 28672 ---------------------------------------------------------------- Crucible gen:16 GIO:true work queues: Upstairs:0 downstairs:20 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1010 Acked Write 5 Sent Done Done false 1011 Acked Read 10 Sent Done Done false 1012 Acked Read 9 Sent Done Done false 1013 Acked Read 8 Sent Done Done false 1014 Acked Read 9 Sent Done Done false 1015 Acked Write 5 Sent Done Done false 1016 Acked Flush 0 Sent Done Done false 1017 Acked Write 1 Sent Done Done false 1018 Acked Read 3 Sent Done Done false 1019 Acked Read 3 Sent Done Done false 1020 Acked Read 6 Sent Done Done false 1021 Acked Flush 0 Sent Done Done false 1022 Acked Write 6 Sent Done Done false 1023 Acked Read 2 Sent Done Done false 1024 Acked Read 7 Sent Done Done false 1025 Acked Read 8 Sent Done Done false 1026 Acked Read 3 Sent Done Done false 1027 Acked Write 4 Sent Done Done false 1028 Acked Read 7 Sent Done Done false 1029 Acked Read 7 Sent Done Done false STATES DS:0 DS:1 DS:2 TOTAL Sent 20 0 0 20 Done 0 20 20 40 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1009)) Some(JobId(1021)) Some(JobId(1021)) Downstairs last five completed: 1009 1008 1007 1006 1005 Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:42:36.255579454Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:36.255861808Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1197,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 12 12 12 16 16 16 F F F 1 020-039 13 13 13 18 18 18 F F F 2 040-059 13 13 13 18 18 18 F F F 3 060-079 16 16 16 23 23 23 F F F 4 080-099 12 12 12 16 16 16 F F F 5 100-119 5 5 5 7 7 7 F F F 6 120-139 12 12 12 16 16 16 F T T <--- 7 140-159 14 14 14 21 21 21 F F F 8 160-179 15 15 15 22 22 22 F F F 9 180-199 14 16 16 19 25 25 F F F <--- 10 200-219 16 16 16 24 24 24 F F F 11 220-239 14 14 14 19 19 19 F F F 12 240-259 13 13 13 18 18 18 F F F 13 260-279 10 10 10 14 14 14 F F F 14 280-299 16 16 16 23 23 23 F F F 15 300-319 16 16 16 23 23 23 F F F 16 320-339 12 12 12 16 16 16 F F F 17 340-359 14 14 14 21 21 21 F T T <--- 18 360-379 14 14 14 20 20 20 F F F 19 380-399 1 1 1 1 1 1 F F F 20 400-419 12 12 12 16 16 16 F F F 21 420-439 10 10 10 14 14 14 F F F 22 440-459 12 16 16 16 26 26 F F F <--- 23 460-479 15 15 15 22 22 22 F F F 24 480-499 10 10 10 13 13 13 F F F 25 500-519 9 9 9 11 11 11 F F F 26 520-539 16 16 16 23 23 23 F F F 27 540-559 16 16 16 23 25 25 F F F <--- 28 560-579 10 10 10 14 14 14 F F F 29 580-599 10 10 10 14 14 14 F F F Max gen: 16, Max flush: 26 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 8 Verifying data now No change after verify Loop: 8 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 12 12 12 16 16 16 F F F 1 020-039 13 13 13 18 18 18 F F F 2 040-059 13 13 13 18 18 18 F F F 3 060-079 16 16 16 23 23 23 F F F 4 080-099 12 12 12 16 16 16 F F F 5 100-119 5 5 5 7 7 7 F F F 6 120-139 17 17 17 27 27 27 F F F 7 140-159 14 14 14 21 21 21 F F F 8 160-179 15 15 15 22 22 22 F F F 9 180-199 16 16 16 25 25 25 F F F 10 200-219 16 16 16 24 24 24 F F F 11 220-239 14 14 14 19 19 19 F F F 12 240-259 13 13 13 18 18 18 F F F 13 260-279 10 10 10 14 14 14 F F F 14 280-299 16 16 16 23 23 23 F F F 15 300-319 16 16 16 23 23 23 F F F 16 320-339 12 12 12 16 16 16 F F F 17 340-359 17 17 17 27 27 27 F F F 18 360-379 14 14 14 20 20 20 F F F 19 380-399 1 1 1 1 1 1 F F F 20 400-419 12 12 12 16 16 16 F F F 21 420-439 10 10 10 14 14 14 F F F 22 440-459 16 16 16 26 26 26 F F F 23 460-479 15 15 15 22 22 22 F F F 24 480-499 10 10 10 13 13 13 F F F 25 500-519 9 9 9 11 11 11 F F F 26 520-539 16 16 16 23 23 23 F F F 27 540-559 16 16 16 25 25 25 F F F 28 560-579 10 10 10 14 14 14 F F F 29 580-599 10 10 10 14 14 14 F F F Max gen: 17, Max flush: 27 Begin loop 9 Downstairs to restart: 0 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.482846407Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"task":"crutest"} {"msg":"Failed to get info from \"http://127.0.0.1:12810\" Communication Error: error sending request for url (http://127.0.0.1:12810/region-info)","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:42:40.490024766Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"task":"crutest"} {"msg":"look at: http://127.0.0.1:12820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.490112395Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008820, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.497134634Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.497423697Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.497459203Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.497468152Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.49747993Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205} {"msg":"Crucible b4a7ca5a-c6ea-4207-b411-5f2b5503e770 has session id: 0bf489b8-28fb-489c-b51e-cd753fb62266","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.497839154Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"Upstairs opts: Upstairs UUID: b4a7ca5a-c6ea-4207-b411-5f2b5503e770, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.497864351Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"Crucible stats registered with UUID: b4a7ca5a-c6ea-4207-b411-5f2b5503e770","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.49787447Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:42:40.497887368Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.498061266Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"":"io task","client":"2","":"downstairs","session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.498076404Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"":"io task","client":"0","":"downstairs","session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.498086792Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"":"io task","client":"1","":"downstairs","session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.498236303Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"task":"crutest"} {"msg":"The guest has requested activation with gen:18","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.498267859Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205} {"msg":"b4a7ca5a-c6ea-4207-b411-5f2b5503e770 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.498278378Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.498287497Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"client":"0","":"downstairs","session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.498297405Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"client":"1","":"downstairs","session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.498307304Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"client":"2","":"downstairs","session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.498317183Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"":"io task","client":"2","":"downstairs","session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.498327481Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"":"io task","client":"0","":"downstairs","session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.498346029Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"":"io task","client":"1","":"downstairs","session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"ds_connection connected from Ok(127.0.0.1:59848)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.498385184Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"":"io task","client":"2","":"downstairs","session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"ds_connection connected from Ok(127.0.0.1:36553)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.498396393Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"":"io task","client":"1","":"downstairs","session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"ds_connection connected from Ok(127.0.0.1:53957)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.498406851Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"":"io task","client":"0","":"downstairs","session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.499072056Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"client":"2","":"downstairs","session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.499097093Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"client":"1","":"downstairs","session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.499163544Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"client":"0","":"downstairs","session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.499380176Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.499398164Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"[0]R flush_numbers[0..12]: [16, 18, 18, 23, 16, 7, 27, 21, 22, 25, 24, 19]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.499482213Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"":"downstairs","":"downstairs","session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"[0]R generation[0..12]: [12, 13, 13, 16, 12, 5, 17, 14, 15, 16, 16, 14]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.499493502Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"":"downstairs","":"downstairs","session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.499504661Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"":"downstairs","":"downstairs","session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"[1]R flush_numbers[0..12]: [16, 18, 18, 23, 16, 7, 27, 21, 22, 25, 24, 19]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.499515269Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"":"downstairs","":"downstairs","session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"[1]R generation[0..12]: [12, 13, 13, 16, 12, 5, 17, 14, 15, 16, 16, 14]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.499525818Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"":"downstairs","":"downstairs","session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.499536786Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"":"downstairs","":"downstairs","session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"[2]R flush_numbers[0..12]: [16, 18, 18, 23, 16, 7, 27, 21, 22, 25, 24, 19]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.499547435Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"":"downstairs","":"downstairs","session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"[2]R generation[0..12]: [12, 13, 13, 16, 12, 5, 17, 14, 15, 16, 16, 14]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.499557984Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"":"downstairs","":"downstairs","session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.499569052Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"":"downstairs","":"downstairs","session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"Max found gen is 18","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.499578661Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"":"downstairs","":"downstairs","session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"Generation requested: 18 >= found:18","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.49958854Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"":"downstairs","":"downstairs","session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"Next flush: 28","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.499598229Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"":"downstairs","":"downstairs","session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.499607857Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"":"downstairs","":"downstairs","session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.499617726Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.499626835Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"client":"0","":"downstairs","session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.499637673Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"client":"1","":"downstairs","session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.499647472Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"client":"2","":"downstairs","session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.499657481Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.49966686Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"b4a7ca5a-c6ea-4207-b411-5f2b5503e770 is now active with session: 0bf489b8-28fb-489c-b51e-cd753fb62266","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.499676948Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.499685797Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"session_id":"0bf489b8-28fb-489c-b51e-cd753fb62266"} {"msg":"The guest has finished waiting for activation with:18","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.499695116Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205} {"msg":"Activated sub_volume b4a7ca5a-c6ea-4207-b411-5f2b5503e770","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.499703305Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.499711554Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.500018435Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"task":"crutest"} 01/30 Write block 161 len 28672 data: 2 3 3 3 3 3 3 02/30 Read block 524 len 4096 03/30 Write block 186 len 28672 data: 3 3 3 3 3 3 4 04/30 Write block 207 len 20480 data: 3 3 3 4 4 05/30 Read block 420 len 16384 06/30 Write block 343 len 32768 data: 2 2 2 2 2 2 2 2 07/30 Read block 487 len 20480 08/30 Write block 103 len 40960 data: 3 2 2 2 2 2 2 2 2 2 09/30 Write block 283 len 28672 data: 2 2 2 3 3 3 3 10/30 Read block 497 len 16384 11/30 Read block 63 len 8192 12/30 Write block 239 len 16384 data: 3 3 3 3 13/30 Write block 107 len 36864 data: 3 3 3 3 3 3 2 2 2 14/30 Read block 476 len 28672 15/30 Write block 359 len 20480 data: 7 7 6 6 6 16/30 Write block 121 len 20480 data: 3 3 3 2 2 17/30 Write block 249 len 36864 data: 3 4 4 3 3 2 2 2 2 18/30 Read block 333 len 16384 19/30 Read block 9 len 32768 20/30 Write block 451 len 32768 data: 5 4 3 3 4 4 3 3 21/30 Write block 463 len 4096 data: 3 22/30 Read block 421 len 16384 23/30 Write block 507 len 40960 data: 5 6 5 5 5 5 4 4 3 3 24/30 Write block 155 len 28672 data: 5 5 5 5 5 3 3 25/30 Write block 383 len 4096 data: 2 26/30 Write block 102 len 8192 data: 4 4 27/30 Read block 315 len 32768 28/30 Write block 587 len 8192 data: 3 3 29/30 Read block 137 len 40960 30/30 Read block 66 len 20480 ---------------------------------------------------------------- Crucible gen:18 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 7 Done Done Done false 1001 Acked Read 1 Done Done Done false 1002 Acked Write 7 Done Done Done false 1003 Acked Write 5 Done Done Done false 1004 Acked Read 4 Done Done Done false 1005 Acked Write 8 Sent Done Done false 1006 Acked Read 5 Sent Done Done false 1007 Acked Write 10 Sent Done Done false 1008 Acked Write 7 Sent Done Done false 1009 Acked Read 4 Sent Done Done false 1010 Acked Read 2 Sent Done Done false 1011 Acked Write 4 Sent Done Done false 1012 Acked Write 9 Sent Done Done false 1013 Acked Read 7 Sent Done Done false 1014 Acked Write 5 Sent Done Done false 1015 Acked Write 5 Sent Done Done false 1016 Acked Write 9 Sent Done Done false 1017 Acked Read 4 Sent Done Done false 1018 Acked Read 8 Sent Done Done false 1019 Acked Write 8 Sent Done Done false 1020 Acked Write 1 Sent Done Done false 1021 Acked Read 4 Sent Done Done false 1022 Acked Write 10 Sent Done Done false 1023 Acked Write 7 Sent Done Done false 1024 Acked Write 1 Sent Done Done false 1025 Acked Write 2 Sent Done Done false 1026 Acked Read 8 Sent Done Done false 1027 Acked Write 2 Sent Done Done false 1028 Acked Read 10 Sent Done Done false 1029 Acked Read 5 Sent Done Done false STATES DS:0 DS:1 DS:2 TOTAL Sent 25 0 0 25 Done 5 30 30 65 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: None None None Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:42:40.507356394Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:40.507649456Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1205,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 12 12 12 16 16 16 F F F 1 020-039 13 13 13 18 18 18 F F F 2 040-059 13 13 13 18 18 18 F F F 3 060-079 16 16 16 23 23 23 F F F 4 080-099 12 12 12 16 16 16 F F F 5 100-119 5 5 5 7 7 7 F T T <--- 6 120-139 17 17 17 27 27 27 F T T <--- 7 140-159 14 14 14 21 21 21 F T T <--- 8 160-179 15 15 15 22 22 22 T T T 9 180-199 16 16 16 25 25 25 T T T 10 200-219 16 16 16 24 24 24 T T T 11 220-239 14 14 14 19 19 19 F T T <--- 12 240-259 13 13 13 18 18 18 F T T <--- 13 260-279 10 10 10 14 14 14 F F F 14 280-299 16 16 16 23 23 23 F T T <--- 15 300-319 16 16 16 23 23 23 F F F 16 320-339 12 12 12 16 16 16 F F F 17 340-359 17 17 17 27 27 27 F T T <--- 18 360-379 14 14 14 20 20 20 F T T <--- 19 380-399 1 1 1 1 1 1 F T T <--- 20 400-419 12 12 12 16 16 16 F F F 21 420-439 10 10 10 14 14 14 F F F 22 440-459 16 16 16 26 26 26 F T T <--- 23 460-479 15 15 15 22 22 22 F T T <--- 24 480-499 10 10 10 13 13 13 F F F 25 500-519 9 9 9 11 11 11 F T T <--- 26 520-539 16 16 16 23 23 23 F F F 27 540-559 16 16 16 25 25 25 F F F 28 560-579 10 10 10 14 14 14 F F F 29 580-599 10 10 10 14 14 14 F T T <--- Max gen: 17, Max flush: 27 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 9 Verifying data now Files /tmp/test_repair/test_repair_verify.data and /tmp/test_repair/test_repair_verify.data.last differ 163,164d162 < 2, < 2, 166a165,166 > 3, > 3, diff found after verify Loop: 9 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 12 12 12 16 16 16 F F F 1 020-039 13 13 13 18 18 18 F F F 2 040-059 13 13 13 18 18 18 F F F 3 060-079 16 16 16 23 23 23 F F F 4 080-099 12 12 12 16 16 16 F F F 5 100-119 18 18 18 28 28 28 F F F 6 120-139 18 18 18 28 28 28 F F F 7 140-159 18 18 18 28 28 28 F F F 8 160-179 18 18 18 28 28 28 F F F 9 180-199 18 18 18 28 28 28 F F F 10 200-219 18 18 18 28 28 28 F F F 11 220-239 18 18 18 28 28 28 F F F 12 240-259 18 18 18 28 28 28 F F F 13 260-279 10 10 10 14 14 14 F F F 14 280-299 18 18 18 28 28 28 F F F 15 300-319 16 16 16 23 23 23 F F F 16 320-339 12 12 12 16 16 16 F F F 17 340-359 18 18 18 28 28 28 F F F 18 360-379 18 18 18 28 28 28 F F F 19 380-399 18 18 18 28 28 28 F F F 20 400-419 12 12 12 16 16 16 F F F 21 420-439 10 10 10 14 14 14 F F F 22 440-459 18 18 18 28 28 28 F F F 23 460-479 18 18 18 28 28 28 F F F 24 480-499 10 10 10 13 13 13 F F F 25 500-519 18 18 18 28 28 28 F F F 26 520-539 16 16 16 23 23 23 F F F 27 540-559 16 16 16 25 25 25 F F F 28 560-579 10 10 10 14 14 14 F F F 29 580-599 18 18 18 28 28 28 F F F Max gen: 18, Max flush: 28 Begin loop 10 Downstairs to restart: 1 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.769315108Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.777446575Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.777764254Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.77779537Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.777804559Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.777816197Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216} {"msg":"Crucible 0deb03cd-f2eb-41ef-b629-3d7f64085a1c has session id: bbb25923-8bc6-4fd9-a42f-cf9d70a15eae","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.778256391Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"Upstairs opts: Upstairs UUID: 0deb03cd-f2eb-41ef-b629-3d7f64085a1c, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.778280398Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"Crucible stats registered with UUID: 0deb03cd-f2eb-41ef-b629-3d7f64085a1c","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.778291137Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:42:44.778301855Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.778475263Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"":"io task","client":"0","":"downstairs","session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.778507919Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"":"io task","client":"1","":"downstairs","session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.778519057Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"":"io task","client":"2","":"downstairs","session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.778613975Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"task":"crutest"} {"msg":"The guest has requested activation with gen:20","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.778641472Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216} {"msg":"0deb03cd-f2eb-41ef-b629-3d7f64085a1c active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.778665069Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.778674577Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"client":"0","":"downstairs","session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.778684536Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"client":"1","":"downstairs","session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.778694385Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"client":"2","":"downstairs","session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.778704084Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"":"io task","client":"2","":"downstairs","session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.778714372Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"":"io task","client":"0","":"downstairs","session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.778724581Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"":"io task","client":"1","":"downstairs","session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"ds_connection connected from Ok(127.0.0.1:46198)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.778770175Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"":"io task","client":"2","":"downstairs","session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"ds_connection connected from Ok(127.0.0.1:42793)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.77880879Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"":"io task","client":"0","":"downstairs","session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"ds_connection connected from Ok(127.0.0.1:53893)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.778820759Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"":"io task","client":"1","":"downstairs","session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.779481674Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"client":"2","":"downstairs","session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.779524508Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"client":"1","":"downstairs","session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.779543006Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"client":"0","":"downstairs","session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.779798093Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.77982045Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"[0]R flush_numbers[0..12]: [16, 18, 18, 23, 16, 28, 28, 28, 28, 28, 28, 28]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.779911719Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"":"downstairs","":"downstairs","session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"[0]R generation[0..12]: [12, 13, 13, 16, 12, 18, 18, 18, 18, 18, 18, 18]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.779923387Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"":"downstairs","":"downstairs","session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.779934696Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"":"downstairs","":"downstairs","session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"[1]R flush_numbers[0..12]: [16, 18, 18, 23, 16, 28, 28, 28, 28, 28, 28, 28]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.779945404Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"":"downstairs","":"downstairs","session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"[1]R generation[0..12]: [12, 13, 13, 16, 12, 18, 18, 18, 18, 18, 18, 18]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.779955883Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"":"downstairs","":"downstairs","session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.779966942Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"":"downstairs","":"downstairs","session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"[2]R flush_numbers[0..12]: [16, 18, 18, 23, 16, 28, 28, 28, 28, 28, 28, 28]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.77997743Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"":"downstairs","":"downstairs","session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"[2]R generation[0..12]: [12, 13, 13, 16, 12, 18, 18, 18, 18, 18, 18, 18]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.779987869Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"":"downstairs","":"downstairs","session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.779999088Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"":"downstairs","":"downstairs","session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"Max found gen is 19","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.780008786Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"":"downstairs","":"downstairs","session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"Generation requested: 20 >= found:19","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.780018615Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"":"downstairs","":"downstairs","session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"Next flush: 29","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.780030254Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"":"downstairs","":"downstairs","session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.780039762Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"":"downstairs","":"downstairs","session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.780049611Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.78005856Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"client":"0","":"downstairs","session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.780068609Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"client":"1","":"downstairs","session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.780078387Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"client":"2","":"downstairs","session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.780088386Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.780097785Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"0deb03cd-f2eb-41ef-b629-3d7f64085a1c is now active with session: bbb25923-8bc6-4fd9-a42f-cf9d70a15eae","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.780107844Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"The guest has finished waiting for activation with:20","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.780117132Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.780124801Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"session_id":"bbb25923-8bc6-4fd9-a42f-cf9d70a15eae"} {"msg":"Activated sub_volume 0deb03cd-f2eb-41ef-b629-3d7f64085a1c","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.78013415Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.780142369Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.780458749Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"task":"crutest"} 01/30 Write block 388 len 16384 data: 2 2 2 2 02/30 Write block 571 len 20480 data: 3 4 4 3 3 03/30 Read block 246 len 24576 04/30 Write block 43 len 20480 data: 3 4 4 4 3 05/30 Read block 130 len 24576 06/30 Read block 62 len 36864 07/30 Read block 351 len 40960 08/30 Write block 203 len 16384 data: 4 3 3 3 09/30 Read block 443 len 12288 10/30 Write block 384 len 4096 data: 2 11/30 Read block 514 len 24576 12/30 Read block 15 len 24576 13/30 Read block 287 len 20480 14/30 Write block 476 len 32768 data: 3 3 3 4 3 3 4 3 15/30 Write block 182 len 8192 data: 2 3 16/30 Read block 176 len 16384 17/30 Read block 356 len 36864 18/30 Read block 317 len 24576 19/30 Flush 20/30 Write block 318 len 36864 data: 2 2 3 3 3 3 3 3 4 21/30 Write block 207 len 8192 data: 4 4 22/30 Read block 137 len 12288 23/30 Write block 1 len 40960 data: 2 2 2 2 3 3 3 3 3 3 24/30 Write block 209 len 12288 data: 4 5 5 25/30 Read block 59 len 20480 26/30 Flush 27/30 Write block 592 len 4096 data: 3 28/30 Write block 163 len 8192 data: 4 4 29/30 Write block 189 len 20480 data: 4 4 4 5 5 30/30 Write block 382 len 12288 data: 2 3 3 ---------------------------------------------------------------- Crucible gen:20 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 4 Done Done Done false 1001 Acked Write 5 Done Done Done false 1002 Acked Read 6 Done Done Done false 1003 Acked Write 5 Done Done Done false 1004 Acked Read 6 Done Done Done false 1005 Acked Read 9 Done Done Done false 1006 Acked Read 10 Done Sent Done false 1007 Acked Write 4 Done Sent Done false 1008 Acked Read 3 Done Sent Done false 1009 Acked Write 1 Done Sent Done false 1010 Acked Read 6 Done Sent Done false 1011 Acked Read 6 Done Sent Done false 1012 Acked Read 5 Done Sent Done false 1013 Acked Write 8 Done Sent Done false 1014 Acked Write 2 Done Sent Done false 1015 Acked Read 4 Done Sent Done false 1016 Acked Read 9 Done Sent Done false 1017 Acked Read 6 Done Sent Done false 1018 Acked Flush 0 Done Sent Done false 1019 Acked Write 9 Done Sent Done false 1020 Acked Write 2 Done Sent Done false 1021 Acked Read 3 Done Sent Done false 1022 Acked Write 10 Done Sent Done false 1023 Acked Write 3 Done Sent Done false 1024 Acked Read 5 Done Sent Done false 1025 Acked Flush 0 Done Sent Done false 1026 Acked Write 1 Done Sent Done false 1027 Acked Write 2 Done Sent Done false 1028 Acked Write 5 Sent Sent Sent false 1029 Acked Write 3 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 2 24 2 28 Done 28 6 28 62 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1025)) None Some(JobId(1025)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:42:44.78785758Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:44.788137454Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1216,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 20 12 20 30 16 30 F F F <--- 1 020-039 13 13 13 18 18 18 F F F 2 040-059 20 13 20 29 18 29 F T F <--- 3 060-079 16 16 16 23 23 23 F F F 4 080-099 12 12 12 16 16 16 F F F 5 100-119 18 18 18 28 28 28 F F F 6 120-139 18 18 18 28 28 28 F F F 7 140-159 18 18 18 28 28 28 F F F 8 160-179 18 18 18 28 28 28 T F T <--- 9 180-199 20 18 20 29 28 29 T F T <--- 10 200-219 20 18 20 30 28 30 F F F <--- 11 220-239 18 18 18 28 28 28 F F F 12 240-259 18 18 18 28 28 28 F F F 13 260-279 10 10 10 14 14 14 F F F 14 280-299 18 18 18 28 28 28 F F F 15 300-319 20 16 20 30 23 30 F F F <--- 16 320-339 20 12 20 30 16 30 F F F <--- 17 340-359 18 18 18 28 28 28 F F F 18 360-379 18 18 18 28 28 28 F F F 19 380-399 20 18 20 29 28 29 T T T <--- 20 400-419 12 12 12 16 16 16 F F F 21 420-439 10 10 10 14 14 14 F F F 22 440-459 18 18 18 28 28 28 F F F 23 460-479 20 18 20 29 28 29 F F F <--- 24 480-499 20 10 20 29 13 29 F F F <--- 25 500-519 18 18 18 28 28 28 F F F 26 520-539 16 16 16 23 23 23 F F F 27 540-559 16 16 16 25 25 25 F F F 28 560-579 20 10 20 29 14 29 F T F <--- 29 580-599 18 18 18 28 28 28 T F T <--- Max gen: 20, Max flush: 30 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 10 Verifying data now No change after verify Loop: 10 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 20 20 20 30 30 30 F F F 1 020-039 13 13 13 18 18 18 F F F 2 040-059 20 20 20 29 29 29 F F F 3 060-079 16 16 16 23 23 23 F F F 4 080-099 12 12 12 16 16 16 F F F 5 100-119 18 18 18 28 28 28 F F F 6 120-139 18 18 18 28 28 28 F F F 7 140-159 18 18 18 28 28 28 F F F 8 160-179 21 21 21 31 31 31 F F F 9 180-199 21 21 21 31 31 31 F F F 10 200-219 20 20 20 30 30 30 F F F 11 220-239 18 18 18 28 28 28 F F F 12 240-259 18 18 18 28 28 28 F F F 13 260-279 10 10 10 14 14 14 F F F 14 280-299 18 18 18 28 28 28 F F F 15 300-319 20 20 20 30 30 30 F F F 16 320-339 20 20 20 30 30 30 F F F 17 340-359 18 18 18 28 28 28 F F F 18 360-379 18 18 18 28 28 28 F F F 19 380-399 21 21 21 31 31 31 F F F 20 400-419 12 12 12 16 16 16 F F F 21 420-439 10 10 10 14 14 14 F F F 22 440-459 18 18 18 28 28 28 F F F 23 460-479 20 20 20 29 29 29 F F F 24 480-499 20 20 20 29 29 29 F F F 25 500-519 18 18 18 28 28 28 F F F 26 520-539 16 16 16 23 23 23 F F F 27 540-559 16 16 16 25 25 25 F F F 28 560-579 20 20 20 29 29 29 F F F 29 580-599 21 21 21 31 31 31 F F F Max gen: 21, Max flush: 31 Begin loop 11 Downstairs to restart: 1 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.025597019Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.033731916Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.034045216Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.03408784Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.034110358Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.034123146Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224} {"msg":"Crucible 12914618-8f88-4398-9f85-9e7d336b1c12 has session id: b054fe8c-4670-48da-b6e6-5644c65c24f2","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.034442585Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"Upstairs opts: Upstairs UUID: 12914618-8f88-4398-9f85-9e7d336b1c12, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.034466162Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"Crucible stats registered with UUID: 12914618-8f88-4398-9f85-9e7d336b1c12","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.034476601Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:42:49.034487839Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.034660467Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"":"io task","client":"0","":"downstairs","session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.034676875Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"":"io task","client":"1","":"downstairs","session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.034687054Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"":"io task","client":"2","":"downstairs","session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.034797599Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"task":"crutest"} {"msg":"The guest has requested activation with gen:22","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.034821656Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224} {"msg":"12914618-8f88-4398-9f85-9e7d336b1c12 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.034840194Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.034849303Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"client":"0","":"downstairs","session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.034859181Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"client":"1","":"downstairs","session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.03486903Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"client":"2","":"downstairs","session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.034882069Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"":"io task","client":"2","":"downstairs","session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.034892307Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"":"io task","client":"1","":"downstairs","session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.034941581Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"":"io task","client":"0","":"downstairs","session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"ds_connection connected from Ok(127.0.0.1:54464)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.03495263Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"":"io task","client":"1","":"downstairs","session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"ds_connection connected from Ok(127.0.0.1:46124)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.034963298Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"":"io task","client":"2","":"downstairs","session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"ds_connection connected from Ok(127.0.0.1:46466)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.035098921Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"":"io task","client":"0","":"downstairs","session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.035582249Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"client":"2","":"downstairs","session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.035644111Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"client":"0","":"downstairs","session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.035666228Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"client":"1","":"downstairs","session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.035940253Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.035951341Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"[0]R flush_numbers[0..12]: [30, 18, 29, 23, 16, 28, 28, 28, 31, 31, 30, 28]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.035990736Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"":"downstairs","":"downstairs","session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"[0]R generation[0..12]: [20, 13, 20, 16, 12, 18, 18, 18, 21, 21, 20, 18]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.036002005Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"":"downstairs","":"downstairs","session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.036013423Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"":"downstairs","":"downstairs","session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"[1]R flush_numbers[0..12]: [30, 18, 29, 23, 16, 28, 28, 28, 31, 31, 30, 28]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.036024142Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"":"downstairs","":"downstairs","session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"[1]R generation[0..12]: [20, 13, 20, 16, 12, 18, 18, 18, 21, 21, 20, 18]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.036034701Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"":"downstairs","":"downstairs","session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.036046039Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"":"downstairs","":"downstairs","session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"[2]R flush_numbers[0..12]: [30, 18, 29, 23, 16, 28, 28, 28, 31, 31, 30, 28]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.036056708Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"":"downstairs","":"downstairs","session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"[2]R generation[0..12]: [20, 13, 20, 16, 12, 18, 18, 18, 21, 21, 20, 18]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.036067347Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"":"downstairs","":"downstairs","session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.036078345Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"":"downstairs","":"downstairs","session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"Max found gen is 22","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.036088004Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"":"downstairs","":"downstairs","session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"Generation requested: 22 >= found:22","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.036099342Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"":"downstairs","":"downstairs","session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"Next flush: 32","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.036108841Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"":"downstairs","":"downstairs","session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.03611843Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"":"downstairs","":"downstairs","session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.036128709Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.036137698Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"client":"0","":"downstairs","session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.036147836Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"client":"1","":"downstairs","session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.036158015Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"client":"2","":"downstairs","session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.036168284Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.036177762Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"12914618-8f88-4398-9f85-9e7d336b1c12 is now active with session: b054fe8c-4670-48da-b6e6-5644c65c24f2","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.036187901Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.03619692Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"session_id":"b054fe8c-4670-48da-b6e6-5644c65c24f2"} {"msg":"The guest has finished waiting for activation with:22","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.036206249Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224} {"msg":"Activated sub_volume 12914618-8f88-4398-9f85-9e7d336b1c12","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.036214538Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.036222777Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.036482183Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"task":"crutest"} 01/30 Write block 6 len 40960 data: 4 4 4 4 4 3 3 3 2 2 02/30 Write block 41 len 4096 data: 4 03/30 Write block 248 len 32768 data: 3 4 5 5 4 4 3 3 04/30 Read block 426 len 8192 05/30 Read block 296 len 24576 06/30 Flush 07/30 Write block 466 len 12288 data: 2 2 3 08/30 Write block 402 len 12288 data: 3 3 3 09/30 Read block 242 len 40960 10/30 Read block 539 len 32768 11/30 Flush 12/30 Flush 13/30 Flush 14/30 Write block 140 len 16384 data: 5 5 5 5 15/30 Write block 370 len 8192 data: 3 3 16/30 Read block 0 len 28672 17/30 Read block 35 len 16384 18/30 Write block 105 len 32768 data: 3 3 4 4 4 4 4 4 19/30 Read block 529 len 16384 20/30 Write block 56 len 12288 data: 2 2 2 21/30 Write block 556 len 20480 data: 3 3 4 3 2 22/30 Read block 69 len 12288 23/30 Read block 155 len 16384 24/30 Read block 157 len 28672 25/30 Read block 200 len 32768 26/30 Read block 97 len 20480 27/30 Write block 432 len 28672 data: 2 2 2 2 2 2 2 28/30 Write block 573 len 36864 data: 5 4 4 4 3 3 3 3 3 29/30 Read block 467 len 12288 30/30 Read block 516 len 4096 ---------------------------------------------------------------- Crucible gen:22 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 10 Done Done Done false 1001 Acked Write 1 Done Sent Done false 1002 Acked Write 8 Done Sent Done false 1003 Acked Read 2 Done Sent Done false 1004 Acked Read 6 Done Sent Done false 1005 Acked Flush 0 Done Sent Done false 1006 Acked Write 3 Done Sent Done false 1007 Acked Write 3 Done Sent Done false 1008 Acked Read 10 Done Sent Done false 1009 Acked Read 8 Done Sent Done false 1010 Acked Flush 0 Done Sent Done false 1011 Acked Flush 0 Done Sent Done false 1012 Acked Flush 0 Done Sent Done false 1013 Acked Write 4 Done Sent Done false 1014 Acked Write 2 Done Sent Done false 1015 Acked Read 7 Done Sent Done false 1016 Acked Read 4 Done Sent Done false 1017 Acked Write 8 Done Sent Done false 1018 Acked Read 4 Done Sent Done false 1019 Acked Write 3 Done Sent Done false 1020 Acked Write 5 Done Sent Done false 1021 Acked Read 3 Done Sent Done false 1022 Acked Read 4 Done Sent Done false 1023 Acked Read 7 Done Sent Done false 1024 Acked Read 8 Done Sent Done false 1025 Acked Read 5 Done Sent Done false 1026 Acked Write 7 Done Sent Done false 1027 Acked Write 9 Done Sent Done false 1028 Acked Read 3 Done Sent Done false 1029 Acked Read 1 Done Sent Done false STATES DS:0 DS:1 DS:2 TOTAL Sent 0 29 0 29 Done 30 1 30 61 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1012)) None Some(JobId(1012)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:42:49.044160249Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:49.044430874Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1224,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 22 20 22 32 30 32 F T F <--- 1 020-039 13 13 13 18 18 18 F F F 2 040-059 22 20 22 32 29 32 T F T <--- 3 060-079 16 16 16 23 23 23 F F F 4 080-099 12 12 12 16 16 16 F F F 5 100-119 18 18 18 28 28 28 T F T <--- 6 120-139 18 18 18 28 28 28 F F F 7 140-159 18 18 18 28 28 28 T F T <--- 8 160-179 21 21 21 31 31 31 F F F 9 180-199 21 21 21 31 31 31 F F F 10 200-219 20 20 20 30 30 30 F F F 11 220-239 18 18 18 28 28 28 F F F 12 240-259 22 18 22 32 28 32 F F F <--- 13 260-279 10 10 10 14 14 14 F F F 14 280-299 18 18 18 28 28 28 F F F 15 300-319 20 20 20 30 30 30 F F F 16 320-339 20 20 20 30 30 30 F F F 17 340-359 18 18 18 28 28 28 F F F 18 360-379 18 18 18 28 28 28 T F T <--- 19 380-399 21 21 21 31 31 31 F F F 20 400-419 22 12 22 33 16 33 F F F <--- 21 420-439 10 10 10 14 14 14 T F T <--- 22 440-459 18 18 18 28 28 28 F F F 23 460-479 22 20 22 33 29 33 F F F <--- 24 480-499 20 20 20 29 29 29 F F F 25 500-519 18 18 18 28 28 28 F F F 26 520-539 16 16 16 23 23 23 F F F 27 540-559 16 16 16 25 25 25 T F T <--- 28 560-579 20 20 20 29 29 29 T F T <--- 29 580-599 21 21 21 31 31 31 T F T <--- Max gen: 22, Max flush: 33 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 11 Verifying data now No change after verify Loop: 11 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 22 22 22 32 32 32 F F F 1 020-039 13 13 13 18 18 18 F F F 2 040-059 23 23 23 34 34 34 F F F 3 060-079 16 16 16 23 23 23 F F F 4 080-099 12 12 12 16 16 16 F F F 5 100-119 23 23 23 34 34 34 F F F 6 120-139 18 18 18 28 28 28 F F F 7 140-159 23 23 23 34 34 34 F F F 8 160-179 21 21 21 31 31 31 F F F 9 180-199 21 21 21 31 31 31 F F F 10 200-219 20 20 20 30 30 30 F F F 11 220-239 18 18 18 28 28 28 F F F 12 240-259 22 22 22 32 32 32 F F F 13 260-279 10 10 10 14 14 14 F F F 14 280-299 18 18 18 28 28 28 F F F 15 300-319 20 20 20 30 30 30 F F F 16 320-339 20 20 20 30 30 30 F F F 17 340-359 18 18 18 28 28 28 F F F 18 360-379 23 23 23 34 34 34 F F F 19 380-399 21 21 21 31 31 31 F F F 20 400-419 22 22 22 33 33 33 F F F 21 420-439 23 23 23 34 34 34 F F F 22 440-459 18 18 18 28 28 28 F F F 23 460-479 22 22 22 33 33 33 F F F 24 480-499 20 20 20 29 29 29 F F F 25 500-519 18 18 18 28 28 28 F F F 26 520-539 16 16 16 23 23 23 F F F 27 540-559 23 23 23 34 34 34 F F F 28 560-579 23 23 23 34 34 34 F F F 29 580-599 23 23 23 34 34 34 F F F Max gen: 23, Max flush: 34 Begin loop 12 Downstairs to restart: 2 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.282407344Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.290589854Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.290920992Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.290952818Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.290961647Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.290973265Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232} {"msg":"Crucible 34b421e8-8c17-4eba-95f6-91bbd0196c8a has session id: d7129ef9-2748-462d-bc92-6a8a861cbb1f","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.291361735Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"Upstairs opts: Upstairs UUID: 34b421e8-8c17-4eba-95f6-91bbd0196c8a, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.291389762Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"Crucible stats registered with UUID: 34b421e8-8c17-4eba-95f6-91bbd0196c8a","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.29140262Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:42:53.291412289Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.291594646Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"":"io task","client":"1","":"downstairs","session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.291611723Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"":"io task","client":"0","":"downstairs","session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.291622032Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"":"io task","client":"2","":"downstairs","session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.291746096Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"task":"crutest"} {"msg":"The guest has requested activation with gen:24","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.291769853Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232} {"msg":"34b421e8-8c17-4eba-95f6-91bbd0196c8a active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.291801409Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.291810978Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"client":"0","":"downstairs","session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.291820947Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"client":"1","":"downstairs","session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.291830615Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"client":"2","":"downstairs","session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.291840244Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"":"io task","client":"2","":"downstairs","session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.291850403Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"":"io task","client":"1","":"downstairs","session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.291891647Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"":"io task","client":"0","":"downstairs","session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"ds_connection connected from Ok(127.0.0.1:61246)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.291902616Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"":"io task","client":"2","":"downstairs","session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"ds_connection connected from Ok(127.0.0.1:61772)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.291913035Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"":"io task","client":"1","":"downstairs","session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"ds_connection connected from Ok(127.0.0.1:64057)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.291925123Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"":"io task","client":"0","":"downstairs","session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.292597317Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"client":"0","":"downstairs","session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.292622804Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"client":"1","":"downstairs","session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.292634522Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"client":"2","":"downstairs","session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.292903108Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.292941933Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"[0]R flush_numbers[0..12]: [32, 18, 34, 23, 16, 34, 28, 34, 31, 31, 30, 28]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.292991666Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"":"downstairs","":"downstairs","session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"[0]R generation[0..12]: [22, 13, 23, 16, 12, 23, 18, 23, 21, 21, 20, 18]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.293002815Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"":"downstairs","":"downstairs","session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.293014114Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"":"downstairs","":"downstairs","session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"[1]R flush_numbers[0..12]: [32, 18, 34, 23, 16, 34, 28, 34, 31, 31, 30, 28]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.293024612Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"":"downstairs","":"downstairs","session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"[1]R generation[0..12]: [22, 13, 23, 16, 12, 23, 18, 23, 21, 21, 20, 18]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.293035131Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"":"downstairs","":"downstairs","session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.293046149Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"":"downstairs","":"downstairs","session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"[2]R flush_numbers[0..12]: [32, 18, 34, 23, 16, 34, 28, 34, 31, 31, 30, 28]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.293056708Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"":"downstairs","":"downstairs","session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"[2]R generation[0..12]: [22, 13, 23, 16, 12, 23, 18, 23, 21, 21, 20, 18]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.293067227Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"":"downstairs","":"downstairs","session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.293079575Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"":"downstairs","":"downstairs","session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"Max found gen is 24","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.293089024Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"":"downstairs","":"downstairs","session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"Generation requested: 24 >= found:24","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.293098743Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"":"downstairs","":"downstairs","session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"Next flush: 35","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.293108091Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"":"downstairs","":"downstairs","session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.29311766Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"":"downstairs","":"downstairs","session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.293127759Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.293136838Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"client":"0","":"downstairs","session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.293146627Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"client":"1","":"downstairs","session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.293156445Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"client":"2","":"downstairs","session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.293166384Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.293175673Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"34b421e8-8c17-4eba-95f6-91bbd0196c8a is now active with session: d7129ef9-2748-462d-bc92-6a8a861cbb1f","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.293185852Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.2931947Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"session_id":"d7129ef9-2748-462d-bc92-6a8a861cbb1f"} {"msg":"The guest has finished waiting for activation with:24","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.293204569Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232} {"msg":"Activated sub_volume 34b421e8-8c17-4eba-95f6-91bbd0196c8a","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.293213008Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.293221537Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.293520069Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"task":"crutest"} 01/30 Write block 550 len 20480 data: 4 4 3 3 3 02/30 Write block 371 len 32768 data: 4 3 3 2 2 2 2 2 03/30 Read block 558 len 4096 04/30 Read block 58 len 16384 05/30 Read block 445 len 4096 06/30 Read block 96 len 4096 07/30 Flush 08/30 Write block 537 len 36864 data: 4 4 4 5 5 5 4 4 3 09/30 Read block 339 len 20480 10/30 Write block 221 len 32768 data: 5 5 5 5 4 4 2 2 11/30 Read block 33 len 40960 12/30 Write block 460 len 4096 data: 3 13/30 Read block 429 len 16384 14/30 Write block 415 len 28672 data: 2 2 2 3 4 5 5 15/30 Read block 580 len 20480 16/30 Flush 17/30 Write block 542 len 16384 data: 6 5 5 4 18/30 Read block 235 len 12288 19/30 Write block 576 len 24576 data: 5 4 4 4 4 4 20/30 Write block 309 len 24576 data: 2 2 2 2 2 2 21/30 Write block 441 len 36864 data: 3 4 5 5 5 4 3 3 5 22/30 Write block 294 len 40960 data: 3 4 4 5 6 5 5 3 3 3 23/30 Read block 208 len 16384 24/30 Write block 174 len 36864 data: 3 3 3 3 2 2 2 2 3 25/30 Read block 125 len 24576 26/30 Read block 500 len 4096 27/30 Write block 550 len 32768 data: 5 5 4 4 4 3 4 4 28/30 Write block 5 len 20480 data: 4 5 5 5 5 29/30 Read block 362 len 32768 30/30 Write block 34 len 20480 data: 4 4 4 4 4 ---------------------------------------------------------------- Crucible gen:24 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 5 Done Done Done false 1001 Acked Write 8 Done Done Sent false 1002 Acked Read 1 Done Done Sent false 1003 Acked Read 4 Done Done Sent false 1004 Acked Read 1 Done Done Sent false 1005 Acked Read 1 Done Done Sent false 1006 Acked Flush 0 Done Done Sent false 1007 Acked Write 9 Done Done Sent false 1008 Acked Read 5 Done Done Sent false 1009 Acked Write 8 Done Done Sent false 1010 Acked Read 10 Done Done Sent false 1011 Acked Write 1 Done Done Sent false 1012 Acked Read 4 Done Done Sent false 1013 Acked Write 7 Done Done Sent false 1014 Acked Read 5 Done Done Sent false 1015 Acked Flush 0 Done Done Sent false 1016 Acked Write 4 Done Done Sent false 1017 Acked Read 3 Done Done Sent false 1018 Acked Write 6 Done Done Sent false 1019 Acked Write 6 Done Done Sent false 1020 Acked Write 9 Done Done Sent false 1021 Acked Write 10 Done Done Sent false 1022 Acked Read 4 Done Done Sent false 1023 Acked Write 9 Done Done Sent false 1024 Acked Read 6 Done Done Sent false 1025 Acked Read 1 Done Done Sent false 1026 Acked Write 8 Done Done Sent false 1027 Acked Write 5 Done Done Sent false 1028 Acked Read 8 Done Done Sent false 1029 Acked Write 5 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 1 1 29 31 Done 29 29 1 59 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1015)) Some(JobId(1015)) None Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:42:53.301195754Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:53.301477668Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1232,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 22 22 22 32 32 32 T T F <--- 1 020-039 13 13 13 18 18 18 T T F <--- 2 040-059 23 23 23 34 34 34 F F F 3 060-079 16 16 16 23 23 23 F F F 4 080-099 12 12 12 16 16 16 F F F 5 100-119 23 23 23 34 34 34 F F F 6 120-139 18 18 18 28 28 28 F F F 7 140-159 23 23 23 34 34 34 F F F 8 160-179 21 21 21 31 31 31 T T F <--- 9 180-199 21 21 21 31 31 31 T T F <--- 10 200-219 20 20 20 30 30 30 F F F 11 220-239 24 24 18 36 36 28 F F F <--- 12 240-259 22 22 22 32 32 32 F F F 13 260-279 10 10 10 14 14 14 F F F 14 280-299 18 18 18 28 28 28 T T F <--- 15 300-319 20 20 20 30 30 30 T T F <--- 16 320-339 20 20 20 30 30 30 F F F 17 340-359 18 18 18 28 28 28 F F F 18 360-379 24 24 23 35 35 34 F F F <--- 19 380-399 21 21 21 31 31 31 F F F 20 400-419 24 24 22 36 36 33 F F F <--- 21 420-439 24 24 23 36 36 34 F F F <--- 22 440-459 18 18 18 28 28 28 T T F <--- 23 460-479 24 24 22 36 36 33 F F F <--- 24 480-499 20 20 20 29 29 29 F F F 25 500-519 18 18 18 28 28 28 F F F 26 520-539 24 24 16 36 36 23 F F F <--- 27 540-559 24 24 23 36 36 34 T T T <--- 28 560-579 23 23 23 34 34 34 T T F <--- 29 580-599 23 23 23 34 34 34 T T F <--- Max gen: 24, Max flush: 36 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 12 Verifying data now No change after verify Loop: 12 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 25 25 25 37 37 37 F F F 1 020-039 25 25 25 37 37 37 F F F 2 040-059 23 23 23 34 34 34 F F F 3 060-079 16 16 16 23 23 23 F F F 4 080-099 12 12 12 16 16 16 F F F 5 100-119 23 23 23 34 34 34 F F F 6 120-139 18 18 18 28 28 28 F F F 7 140-159 23 23 23 34 34 34 F F F 8 160-179 25 25 25 37 37 37 F F F 9 180-199 25 25 25 37 37 37 F F F 10 200-219 20 20 20 30 30 30 F F F 11 220-239 24 24 24 36 36 36 F F F 12 240-259 22 22 22 32 32 32 F F F 13 260-279 10 10 10 14 14 14 F F F 14 280-299 25 25 25 37 37 37 F F F 15 300-319 25 25 25 37 37 37 F F F 16 320-339 20 20 20 30 30 30 F F F 17 340-359 18 18 18 28 28 28 F F F 18 360-379 24 24 24 35 35 35 F F F 19 380-399 21 21 21 31 31 31 F F F 20 400-419 24 24 24 36 36 36 F F F 21 420-439 24 24 24 36 36 36 F F F 22 440-459 25 25 25 37 37 37 F F F 23 460-479 24 24 24 36 36 36 F F F 24 480-499 20 20 20 29 29 29 F F F 25 500-519 18 18 18 28 28 28 F F F 26 520-539 24 24 24 36 36 36 F F F 27 540-559 25 25 25 37 37 37 F F F 28 560-579 25 25 25 37 37 37 F F F 29 580-599 25 25 25 37 37 37 F F F Max gen: 25, Max flush: 37 Begin loop 13 Downstairs to restart: 2 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.547050183Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.555153064Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.555481202Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.555512638Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.555521467Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.555533136Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240} {"msg":"Crucible 9eb41b64-ff1b-4517-9319-f5c7e3a98eca has session id: 39a63891-f9d6-496f-b510-46c5cccf474f","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.555870142Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"Upstairs opts: Upstairs UUID: 9eb41b64-ff1b-4517-9319-f5c7e3a98eca, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.5558914Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"Crucible stats registered with UUID: 9eb41b64-ff1b-4517-9319-f5c7e3a98eca","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.555901948Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:42:57.555929325Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.556090124Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"":"io task","client":"2","":"downstairs","session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.556118411Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"":"io task","client":"0","":"downstairs","session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.556129339Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"":"io task","client":"1","":"downstairs","session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.556253233Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"task":"crutest"} {"msg":"The guest has requested activation with gen:26","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.55628107Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240} {"msg":"9eb41b64-ff1b-4517-9319-f5c7e3a98eca active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.556294518Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.556303767Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"client":"0","":"downstairs","session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.556313586Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"client":"1","":"downstairs","session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.556323424Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"client":"2","":"downstairs","session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.556333223Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"":"io task","client":"0","":"downstairs","session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.556343342Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"":"io task","client":"2","":"downstairs","session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.55635344Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"":"io task","client":"1","":"downstairs","session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"ds_connection connected from Ok(127.0.0.1:56127)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.556438909Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"":"io task","client":"2","":"downstairs","session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"ds_connection connected from Ok(127.0.0.1:54265)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.556523869Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"":"io task","client":"1","":"downstairs","session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"ds_connection connected from Ok(127.0.0.1:51535)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.556557134Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"":"io task","client":"0","":"downstairs","session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.557126271Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"client":"1","":"downstairs","session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.557146049Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"client":"2","":"downstairs","session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.557157367Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"client":"0","":"downstairs","session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.557444401Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.557459019Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"[0]R flush_numbers[0..12]: [37, 37, 34, 23, 16, 34, 28, 34, 37, 37, 30, 36]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.557500883Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"":"downstairs","":"downstairs","session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"[0]R generation[0..12]: [25, 25, 23, 16, 12, 23, 18, 23, 25, 25, 20, 24]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.557512212Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"":"downstairs","":"downstairs","session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.55752346Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"":"downstairs","":"downstairs","session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"[1]R flush_numbers[0..12]: [37, 37, 34, 23, 16, 34, 28, 34, 37, 37, 30, 36]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.557534179Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"":"downstairs","":"downstairs","session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"[1]R generation[0..12]: [25, 25, 23, 16, 12, 23, 18, 23, 25, 25, 20, 24]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.557544698Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"":"downstairs","":"downstairs","session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.557555696Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"":"downstairs","":"downstairs","session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"[2]R flush_numbers[0..12]: [37, 37, 34, 23, 16, 34, 28, 34, 37, 37, 30, 36]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.557568095Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"":"downstairs","":"downstairs","session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"[2]R generation[0..12]: [25, 25, 23, 16, 12, 23, 18, 23, 25, 25, 20, 24]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.557578573Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"":"downstairs","":"downstairs","session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.557589552Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"":"downstairs","":"downstairs","session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"Max found gen is 26","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.557599171Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"":"downstairs","":"downstairs","session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"Generation requested: 26 >= found:26","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.557609049Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"":"downstairs","":"downstairs","session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"Next flush: 38","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.557618598Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"":"downstairs","":"downstairs","session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.557628077Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"":"downstairs","":"downstairs","session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.557637916Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.557646775Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"client":"0","":"downstairs","session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.557656583Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"client":"1","":"downstairs","session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.557666352Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"client":"2","":"downstairs","session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.557676331Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.5576857Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"9eb41b64-ff1b-4517-9319-f5c7e3a98eca is now active with session: 39a63891-f9d6-496f-b510-46c5cccf474f","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.557696118Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.557705167Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"session_id":"39a63891-f9d6-496f-b510-46c5cccf474f"} {"msg":"The guest has finished waiting for activation with:26","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.557714346Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240} {"msg":"Activated sub_volume 9eb41b64-ff1b-4517-9319-f5c7e3a98eca","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.557723515Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.557731844Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.558076949Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"task":"crutest"} 01/30 Write block 8 len 8192 data: 6 6 02/30 Read block 340 len 32768 03/30 Read block 54 len 12288 04/30 Write block 56 len 32768 data: 3 3 3 2 2 2 2 2 05/30 Write block 193 len 28672 data: 6 4 4 3 3 3 3 06/30 Flush 07/30 Write block 499 len 8192 data: 2 2 08/30 Flush 09/30 Write block 235 len 36864 data: 4 4 4 3 4 4 4 4 3 10/30 Write block 180 len 24576 data: 3 3 4 4 3 3 11/30 Write block 325 len 12288 data: 4 5 4 12/30 Write block 381 len 4096 data: 2 13/30 Read block 352 len 28672 14/30 Read block 194 len 28672 15/30 Read block 181 len 36864 16/30 Write block 388 len 40960 data: 3 3 3 3 2 2 2 2 2 2 17/30 Flush 18/30 Write block 365 len 4096 data: 4 19/30 Write block 475 len 40960 data: 3 4 4 4 5 4 4 5 4 4 20/30 Read block 351 len 28672 21/30 Write block 418 len 28672 data: 4 5 6 6 4 4 4 22/30 Read block 212 len 36864 23/30 Read block 302 len 4096 24/30 Write block 429 len 12288 data: 2 2 2 25/30 Write block 582 len 12288 data: 2 2 2 26/30 Read block 379 len 8192 27/30 Read block 81 len 36864 28/30 Write block 423 len 32768 data: 5 5 3 3 2 2 3 3 29/30 Read block 84 len 40960 30/30 Read block 343 len 28672 ---------------------------------------------------------------- Crucible gen:26 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 2 Done Done Sent false 1001 Acked Read 8 Done Done Sent false 1002 Acked Read 3 Done Done Sent false 1003 Acked Write 8 Done Done Sent false 1004 Acked Write 7 Done Done Sent false 1005 Acked Flush 0 Done Done Sent false 1006 Acked Write 2 Done Done Sent false 1007 Acked Flush 0 Done Done Sent false 1008 Acked Write 9 Done Done Sent false 1009 Acked Write 6 Done Done Sent false 1010 Acked Write 3 Done Done Sent false 1011 Acked Write 1 Done Done Sent false 1012 Acked Read 7 Done Done Sent false 1013 Acked Read 7 Done Done Sent false 1014 Acked Read 9 Done Done Sent false 1015 Acked Write 10 Done Done Sent false 1016 Acked Flush 0 Done Done Sent false 1017 Acked Write 1 Done Done Sent false 1018 Acked Write 10 Done Done Sent false 1019 Acked Read 7 Done Done Sent false 1020 Acked Write 7 Done Done Sent false 1021 Acked Read 9 Done Done Sent false 1022 Acked Read 1 Done Done Sent false 1023 Acked Write 3 Done Done Sent false 1024 Acked Write 3 Done Done Sent false 1025 Acked Read 2 Done Done Sent false 1026 Acked Read 9 Done Done Sent false 1027 Acked Write 8 Done Done Sent false 1028 Acked Read 10 Done Done Sent false 1029 Acked Read 7 Done Done Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 0 0 30 30 Done 30 30 0 60 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1016)) Some(JobId(1016)) None Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:42:57.565931812Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:42:57.566194438Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1240,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 26 26 25 38 38 37 F F F <--- 1 020-039 25 25 25 37 37 37 F F F 2 040-059 26 26 23 38 38 34 F F F <--- 3 060-079 26 26 16 38 38 23 F F F <--- 4 080-099 12 12 12 16 16 16 F F F 5 100-119 23 23 23 34 34 34 F F F 6 120-139 18 18 18 28 28 28 F F F 7 140-159 23 23 23 34 34 34 F F F 8 160-179 25 25 25 37 37 37 F F F 9 180-199 26 26 25 40 40 37 F F F <--- 10 200-219 20 20 20 30 30 30 F F F 11 220-239 26 26 24 40 40 36 F F F <--- 12 240-259 26 26 22 40 40 32 F F F <--- 13 260-279 10 10 10 14 14 14 F F F 14 280-299 25 25 25 37 37 37 F F F 15 300-319 25 25 25 37 37 37 F F F 16 320-339 26 26 20 40 40 30 F F F <--- 17 340-359 18 18 18 28 28 28 F F F 18 360-379 24 24 24 35 35 35 T T F <--- 19 380-399 26 26 21 40 40 31 F F F <--- 20 400-419 24 24 24 36 36 36 T T F <--- 21 420-439 24 24 24 36 36 36 T T F <--- 22 440-459 25 25 25 37 37 37 F F F 23 460-479 24 24 24 36 36 36 T T F <--- 24 480-499 26 26 20 39 39 29 T T F <--- 25 500-519 26 26 18 39 39 28 F F F <--- 26 520-539 24 24 24 36 36 36 F F F 27 540-559 25 25 25 37 37 37 F F F 28 560-579 25 25 25 37 37 37 F F F 29 580-599 25 25 25 37 37 37 T T F <--- Max gen: 26, Max flush: 40 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 13 Verifying data now No change after verify Loop: 13 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 26 26 26 38 38 38 F F F 1 020-039 25 25 25 37 37 37 F F F 2 040-059 26 26 26 38 38 38 F F F 3 060-079 26 26 26 38 38 38 F F F 4 080-099 12 12 12 16 16 16 F F F 5 100-119 23 23 23 34 34 34 F F F 6 120-139 18 18 18 28 28 28 F F F 7 140-159 23 23 23 34 34 34 F F F 8 160-179 25 25 25 37 37 37 F F F 9 180-199 26 26 26 40 40 40 F F F 10 200-219 20 20 20 30 30 30 F F F 11 220-239 26 26 26 40 40 40 F F F 12 240-259 26 26 26 40 40 40 F F F 13 260-279 10 10 10 14 14 14 F F F 14 280-299 25 25 25 37 37 37 F F F 15 300-319 25 25 25 37 37 37 F F F 16 320-339 26 26 26 40 40 40 F F F 17 340-359 18 18 18 28 28 28 F F F 18 360-379 27 27 27 41 41 41 F F F 19 380-399 26 26 26 40 40 40 F F F 20 400-419 27 27 27 41 41 41 F F F 21 420-439 27 27 27 41 41 41 F F F 22 440-459 25 25 25 37 37 37 F F F 23 460-479 27 27 27 41 41 41 F F F 24 480-499 27 27 27 41 41 41 F F F 25 500-519 26 26 26 39 39 39 F F F 26 520-539 24 24 24 36 36 36 F F F 27 540-559 25 25 25 37 37 37 F F F 28 560-579 25 25 25 37 37 37 F F F 29 580-599 27 27 27 41 41 41 F F F Max gen: 27, Max flush: 41 Begin loop 14 Downstairs to restart: 0 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.808626315Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"task":"crutest"} {"msg":"Failed to get info from \"http://127.0.0.1:12810\" Communication Error: error sending request for url (http://127.0.0.1:12810/region-info)","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:43:01.815790437Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"task":"crutest"} {"msg":"look at: http://127.0.0.1:12820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.815861068Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008820, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.822801188Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.823073963Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.823102949Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.823113918Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.823125676Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248} {"msg":"Crucible 1e7bb12b-ec6e-42f0-829c-6c17684e031a has session id: f1d17aa8-41f5-4701-a71b-b210d788da77","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.823472162Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"Upstairs opts: Upstairs UUID: 1e7bb12b-ec6e-42f0-829c-6c17684e031a, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.823501318Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"Crucible stats registered with UUID: 1e7bb12b-ec6e-42f0-829c-6c17684e031a","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.823512696Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:43:01.823522375Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.823673356Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"":"io task","client":"1","":"downstairs","session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.823689464Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"":"io task","client":"2","":"downstairs","session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.823699632Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"":"io task","client":"0","":"downstairs","session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.823834135Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"task":"crutest"} {"msg":"The guest has requested activation with gen:28","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.823861162Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248} {"msg":"1e7bb12b-ec6e-42f0-829c-6c17684e031a active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.823879279Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.823888648Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"client":"0","":"downstairs","session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.823898657Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"client":"1","":"downstairs","session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.823910555Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"client":"2","":"downstairs","session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.823920484Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"":"io task","client":"2","":"downstairs","session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.823930723Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"":"io task","client":"1","":"downstairs","session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.823965958Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"":"io task","client":"0","":"downstairs","session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"ds_connection connected from Ok(127.0.0.1:49064)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.823977037Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"":"io task","client":"2","":"downstairs","session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"ds_connection connected from Ok(127.0.0.1:44461)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.823987436Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"":"io task","client":"1","":"downstairs","session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"ds_connection connected from Ok(127.0.0.1:52918)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.824005193Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"":"io task","client":"0","":"downstairs","session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.824706173Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"client":"2","":"downstairs","session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.82473032Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"client":"1","":"downstairs","session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.824742069Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"client":"0","":"downstairs","session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.825048559Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.825058758Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"[0]R flush_numbers[0..12]: [38, 37, 38, 38, 16, 34, 28, 34, 37, 40, 30, 40]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.825089404Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"":"downstairs","":"downstairs","session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"[0]R generation[0..12]: [26, 25, 26, 26, 12, 23, 18, 23, 25, 26, 20, 26]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.825100562Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"":"downstairs","":"downstairs","session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.825111831Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"":"downstairs","":"downstairs","session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"[1]R flush_numbers[0..12]: [38, 37, 38, 38, 16, 34, 28, 34, 37, 40, 30, 40]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.825124429Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"":"downstairs","":"downstairs","session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"[1]R generation[0..12]: [26, 25, 26, 26, 12, 23, 18, 23, 25, 26, 20, 26]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.825134888Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"":"downstairs","":"downstairs","session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.825145926Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"":"downstairs","":"downstairs","session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"[2]R flush_numbers[0..12]: [38, 37, 38, 38, 16, 34, 28, 34, 37, 40, 30, 40]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.825156455Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"":"downstairs","":"downstairs","session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"[2]R generation[0..12]: [26, 25, 26, 26, 12, 23, 18, 23, 25, 26, 20, 26]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.825166954Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"":"downstairs","":"downstairs","session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.825178012Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"":"downstairs","":"downstairs","session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"Max found gen is 28","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.825187611Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"":"downstairs","":"downstairs","session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"Generation requested: 28 >= found:28","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.82519743Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"":"downstairs","":"downstairs","session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"Next flush: 42","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.825207019Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"":"downstairs","":"downstairs","session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.825216617Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"":"downstairs","":"downstairs","session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.825226386Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.825235305Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"client":"0","":"downstairs","session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.825245144Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"client":"1","":"downstairs","session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.825254832Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"client":"2","":"downstairs","session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.825264701Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.82527521Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"1e7bb12b-ec6e-42f0-829c-6c17684e031a is now active with session: f1d17aa8-41f5-4701-a71b-b210d788da77","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.825285329Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.825294157Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"session_id":"f1d17aa8-41f5-4701-a71b-b210d788da77"} {"msg":"The guest has finished waiting for activation with:28","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.825303386Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248} {"msg":"Activated sub_volume 1e7bb12b-ec6e-42f0-829c-6c17684e031a","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.825311695Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.825319994Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.825613166Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"task":"crutest"} 01/30 Write block 372 len 32768 data: 4 4 3 3 3 3 3 2 02/30 Read block 223 len 8192 03/30 Read block 334 len 8192 04/30 Write block 507 len 24576 data: 6 7 6 6 6 6 05/30 Read block 542 len 4096 06/30 Read block 289 len 12288 07/30 Write block 328 len 8192 data: 4 5 08/30 Write block 91 len 36864 data: 4 4 4 3 3 2 2 2 3 09/30 Write block 222 len 36864 data: 6 6 6 5 5 3 3 3 3 10/30 Read block 187 len 36864 11/30 Read block 52 len 4096 12/30 Read block 117 len 40960 13/30 Write block 279 len 24576 data: 3 3 3 3 3 3 14/30 Write block 439 len 4096 data: 2 15/30 Write block 427 len 32768 data: 3 3 4 4 3 3 3 3 16/30 Read block 430 len 4096 17/30 Write block 243 len 16384 data: 4 3 4 3 18/30 Write block 483 len 8192 data: 5 5 19/30 Write block 265 len 32768 data: 3 3 3 3 3 3 4 4 20/30 Write block 407 len 8192 data: 2 3 21/30 Read block 169 len 28672 22/30 Write block 532 len 24576 data: 2 3 3 3 3 5 23/30 Read block 310 len 40960 24/30 Write block 338 len 40960 data: 3 2 3 3 3 3 3 3 3 3 25/30 Read block 6 len 32768 26/30 Read block 530 len 12288 27/30 Write block 23 len 8192 data: 4 3 28/30 Read block 461 len 4096 29/30 Read block 262 len 20480 30/30 Read block 471 len 32768 ---------------------------------------------------------------- Crucible gen:28 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 8 Sent Done Done false 1001 Acked Read 2 Sent Done Done false 1002 Acked Read 2 Sent Done Done false 1003 Acked Write 6 Sent Done Done false 1004 Acked Read 1 Sent Done Done false 1005 Acked Read 3 Sent Done Done false 1006 Acked Write 2 Sent Done Done false 1007 Acked Write 9 Sent Done Done false 1008 Acked Write 9 Sent Done Done false 1009 Acked Read 9 Sent Done Done false 1010 Acked Read 1 Sent Done Done false 1011 Acked Read 10 Sent Done Done false 1012 Acked Write 6 Sent Done Done false 1013 Acked Write 1 Sent Done Done false 1014 Acked Write 8 Sent Done Done false 1015 Acked Read 1 Sent Done Done false 1016 Acked Write 4 Sent Done Done false 1017 Acked Write 2 Sent Done Done false 1018 Acked Write 8 Sent Done Done false 1019 Acked Write 2 Sent Done Done false 1020 Acked Read 7 Sent Done Done false 1021 Acked Write 6 Sent Done Done false 1022 Acked Read 10 Sent Done Done false 1023 Acked Write 10 Sent Done Done false 1024 Acked Read 8 Sent Done Done false 1025 Acked Read 3 Sent Done Done false 1026 Acked Write 2 Sent Done Done false 1027 Acked Read 1 Sent Done Done false 1028 Acked Read 5 Sent Done Done false 1029 Acked Read 8 Sent Done Done false STATES DS:0 DS:1 DS:2 TOTAL Sent 30 0 0 30 Done 0 30 30 60 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: None None None Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:43:01.833098177Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:01.833390739Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1248,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 26 26 26 38 38 38 F F F 1 020-039 25 25 25 37 37 37 F T T <--- 2 040-059 26 26 26 38 38 38 F F F 3 060-079 26 26 26 38 38 38 F F F 4 080-099 12 12 12 16 16 16 F T T <--- 5 100-119 23 23 23 34 34 34 F F F 6 120-139 18 18 18 28 28 28 F F F 7 140-159 23 23 23 34 34 34 F F F 8 160-179 25 25 25 37 37 37 F F F 9 180-199 26 26 26 40 40 40 F F F 10 200-219 20 20 20 30 30 30 F F F 11 220-239 26 26 26 40 40 40 F T T <--- 12 240-259 26 26 26 40 40 40 F T T <--- 13 260-279 10 10 10 14 14 14 F T T <--- 14 280-299 25 25 25 37 37 37 F T T <--- 15 300-319 25 25 25 37 37 37 F F F 16 320-339 26 26 26 40 40 40 F T T <--- 17 340-359 18 18 18 28 28 28 F T T <--- 18 360-379 27 27 27 41 41 41 F T T <--- 19 380-399 26 26 26 40 40 40 F F F 20 400-419 27 27 27 41 41 41 F T T <--- 21 420-439 27 27 27 41 41 41 F T T <--- 22 440-459 25 25 25 37 37 37 F F F 23 460-479 27 27 27 41 41 41 F F F 24 480-499 27 27 27 41 41 41 F T T <--- 25 500-519 26 26 26 39 39 39 F T T <--- 26 520-539 24 24 24 36 36 36 F T T <--- 27 540-559 25 25 25 37 37 37 F F F 28 560-579 25 25 25 37 37 37 F F F 29 580-599 27 27 27 41 41 41 F F F Max gen: 27, Max flush: 41 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 14 Verifying data now No change after verify Loop: 14 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 26 26 26 38 38 38 F F F 1 020-039 28 28 28 42 42 42 F F F 2 040-059 26 26 26 38 38 38 F F F 3 060-079 26 26 26 38 38 38 F F F 4 080-099 28 28 28 42 42 42 F F F 5 100-119 23 23 23 34 34 34 F F F 6 120-139 18 18 18 28 28 28 F F F 7 140-159 23 23 23 34 34 34 F F F 8 160-179 25 25 25 37 37 37 F F F 9 180-199 26 26 26 40 40 40 F F F 10 200-219 20 20 20 30 30 30 F F F 11 220-239 28 28 28 42 42 42 F F F 12 240-259 28 28 28 42 42 42 F F F 13 260-279 28 28 28 42 42 42 F F F 14 280-299 28 28 28 42 42 42 F F F 15 300-319 25 25 25 37 37 37 F F F 16 320-339 28 28 28 42 42 42 F F F 17 340-359 28 28 28 42 42 42 F F F 18 360-379 28 28 28 42 42 42 F F F 19 380-399 26 26 26 40 40 40 F F F 20 400-419 28 28 28 42 42 42 F F F 21 420-439 28 28 28 42 42 42 F F F 22 440-459 25 25 25 37 37 37 F F F 23 460-479 27 27 27 41 41 41 F F F 24 480-499 28 28 28 42 42 42 F F F 25 500-519 28 28 28 42 42 42 F F F 26 520-539 28 28 28 42 42 42 F F F 27 540-559 25 25 25 37 37 37 F F F 28 560-579 25 25 25 37 37 37 F F F 29 580-599 27 27 27 41 41 41 F F F Max gen: 28, Max flush: 42 Begin loop 15 Downstairs to restart: 1 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.085373522Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.093693335Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.094015624Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.094054969Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.094064277Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.094076006Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256} {"msg":"Crucible e2a8d519-c8fd-43fb-86cf-fb7967c35344 has session id: 31cc308d-1908-488b-872d-4b9272f63379","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.094396285Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"Upstairs opts: Upstairs UUID: e2a8d519-c8fd-43fb-86cf-fb7967c35344, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.094482024Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"Crucible stats registered with UUID: e2a8d519-c8fd-43fb-86cf-fb7967c35344","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.094507311Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:43:06.094517569Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.094661341Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"":"io task","client":"2","":"downstairs","session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.094677069Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"":"io task","client":"1","":"downstairs","session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.094687268Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"":"io task","client":"0","":"downstairs","session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.094836248Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"task":"crutest"} {"msg":"The guest has requested activation with gen:30","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.094860135Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256} {"msg":"e2a8d519-c8fd-43fb-86cf-fb7967c35344 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.094873674Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.094885052Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"client":"0","":"downstairs","session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.094895261Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"client":"1","":"downstairs","session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.09490502Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"client":"2","":"downstairs","session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.094915268Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"":"io task","client":"2","":"downstairs","session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.094925587Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"":"io task","client":"0","":"downstairs","session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.094935676Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"":"io task","client":"1","":"downstairs","session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"ds_connection connected from Ok(127.0.0.1:62548)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.095028434Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"":"io task","client":"2","":"downstairs","session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"ds_connection connected from Ok(127.0.0.1:46405)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.0950578Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"":"io task","client":"1","":"downstairs","session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"ds_connection connected from Ok(127.0.0.1:43884)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.095124461Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"":"io task","client":"0","":"downstairs","session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.095651764Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"client":"0","":"downstairs","session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.0956819Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"client":"2","":"downstairs","session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.095693868Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"client":"1","":"downstairs","session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.095989111Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.096023296Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"[0]R flush_numbers[0..12]: [38, 42, 38, 38, 42, 34, 28, 34, 37, 40, 30, 42]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.096033535Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"":"downstairs","":"downstairs","session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"[0]R generation[0..12]: [26, 28, 26, 26, 28, 23, 18, 23, 25, 26, 20, 28]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.096047643Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"":"downstairs","":"downstairs","session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.096059112Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"":"downstairs","":"downstairs","session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"[1]R flush_numbers[0..12]: [38, 42, 38, 38, 42, 34, 28, 34, 37, 40, 30, 42]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.09606984Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"":"downstairs","":"downstairs","session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"[1]R generation[0..12]: [26, 28, 26, 26, 28, 23, 18, 23, 25, 26, 20, 28]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.096080699Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"":"downstairs","":"downstairs","session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.096091847Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"":"downstairs","":"downstairs","session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"[2]R flush_numbers[0..12]: [38, 42, 38, 38, 42, 34, 28, 34, 37, 40, 30, 42]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.096102426Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"":"downstairs","":"downstairs","session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"[2]R generation[0..12]: [26, 28, 26, 26, 28, 23, 18, 23, 25, 26, 20, 28]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.096112785Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"":"downstairs","":"downstairs","session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.096123973Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"":"downstairs","":"downstairs","session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"Max found gen is 29","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.096133702Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"":"downstairs","":"downstairs","session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"Generation requested: 30 >= found:29","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.096143631Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"":"downstairs","":"downstairs","session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"Next flush: 43","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.09615324Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"":"downstairs","":"downstairs","session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.096162898Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"":"downstairs","":"downstairs","session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.096173097Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.096182246Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"client":"0","":"downstairs","session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.096192554Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"client":"1","":"downstairs","session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.096203763Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"client":"2","":"downstairs","session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.096214062Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.09622363Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"e2a8d519-c8fd-43fb-86cf-fb7967c35344 is now active with session: 31cc308d-1908-488b-872d-4b9272f63379","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.096233919Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.096242938Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"session_id":"31cc308d-1908-488b-872d-4b9272f63379"} {"msg":"The guest has finished waiting for activation with:30","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.096252197Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256} {"msg":"Activated sub_volume e2a8d519-c8fd-43fb-86cf-fb7967c35344","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.096260506Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.096268835Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.096566946Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"task":"crutest"} 01/30 Write block 525 len 28672 data: 3 3 3 3 3 3 3 02/30 Read block 195 len 40960 03/30 Read block 392 len 36864 04/30 Read block 452 len 36864 05/30 Read block 11 len 32768 06/30 Write block 305 len 16384 data: 3 3 3 2 07/30 Read block 480 len 32768 08/30 Read block 143 len 36864 09/30 Write block 390 len 32768 data: 4 4 3 3 3 3 3 3 10/30 Read block 269 len 8192 11/30 Read block 347 len 24576 12/30 Read block 571 len 20480 13/30 Write block 164 len 16384 data: 5 4 4 4 14/30 Write block 322 len 16384 data: 4 4 4 5 15/30 Read block 256 len 40960 16/30 Flush 17/30 Write block 58 len 28672 data: 4 3 3 3 3 3 2 18/30 Write block 399 len 12288 data: 2 3 3 19/30 Read block 76 len 36864 20/30 Read block 468 len 16384 21/30 Write block 135 len 12288 data: 3 3 3 22/30 Flush 23/30 Write block 28 len 36864 data: 3 3 3 3 2 4 5 5 5 24/30 Flush 25/30 Write block 285 len 8192 data: 3 4 26/30 Write block 457 len 16384 data: 4 4 2 4 27/30 Write block 294 len 32768 data: 4 5 5 6 7 6 6 4 28/30 Read block 197 len 28672 29/30 Write block 572 len 20480 data: 5 6 5 5 6 30/30 Read block 354 len 24576 ---------------------------------------------------------------- Crucible gen:30 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 7 Done Done Done false 1001 Acked Read 10 Done Done Done false 1002 Acked Read 9 Done Done Done false 1003 Acked Read 9 Done Done Done false 1004 Acked Read 8 Done Done Done false 1005 Acked Write 4 Done Done Done false 1006 Acked Read 8 Done Done Done false 1007 Acked Read 9 Done Done Done false 1008 Acked Write 8 Done Sent Done false 1009 Acked Read 2 Done Sent Done false 1010 Acked Read 6 Done Sent Done false 1011 Acked Read 5 Done Sent Done false 1012 Acked Write 4 Done Sent Done false 1013 Acked Write 4 Done Sent Done false 1014 Acked Read 10 Done Sent Done false 1015 Acked Flush 0 Done Sent Done false 1016 Acked Write 7 Done Sent Done false 1017 Acked Write 3 Done Sent Done false 1018 Acked Read 9 Done Sent Done false 1019 Acked Read 4 Done Sent Done false 1020 Acked Write 3 Done Sent Done false 1021 Acked Flush 0 Done Sent Done false 1022 Acked Write 9 Done Sent Done false 1023 Acked Flush 0 Done Sent Done false 1024 Acked Write 2 Done Sent Done false 1025 Acked Write 4 Done Sent Done false 1026 Acked Write 8 Done Sent Done false 1027 Acked Read 7 Done Sent Done false 1028 Acked Write 5 Done Sent Done false 1029 Acked Read 6 Done Sent Done false STATES DS:0 DS:1 DS:2 TOTAL Sent 0 22 0 22 Done 30 8 30 68 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1023)) None Some(JobId(1023)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:43:06.104812339Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:06.105093923Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1256,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 26 26 26 38 38 38 F F F 1 020-039 30 28 30 45 42 45 F F F <--- 2 040-059 30 26 30 44 38 44 F F F <--- 3 060-079 30 26 30 44 38 44 F F F <--- 4 080-099 28 28 28 42 42 42 F F F 5 100-119 23 23 23 34 34 34 F F F 6 120-139 30 18 30 44 28 44 F F F <--- 7 140-159 23 23 23 34 34 34 F F F 8 160-179 30 25 30 43 37 43 F F F <--- 9 180-199 26 26 26 40 40 40 F F F 10 200-219 20 20 20 30 30 30 F F F 11 220-239 28 28 28 42 42 42 F F F 12 240-259 28 28 28 42 42 42 F F F 13 260-279 28 28 28 42 42 42 F F F 14 280-299 28 28 28 42 42 42 T F T <--- 15 300-319 30 25 30 43 37 43 T T T <--- 16 320-339 30 28 30 43 42 43 F F F <--- 17 340-359 28 28 28 42 42 42 F F F 18 360-379 28 28 28 42 42 42 F F F 19 380-399 30 26 30 44 40 44 F F F <--- 20 400-419 30 28 30 44 42 44 F F F <--- 21 420-439 28 28 28 42 42 42 F F F 22 440-459 25 25 25 37 37 37 T F T <--- 23 460-479 27 27 27 41 41 41 T F T <--- 24 480-499 28 28 28 42 42 42 F F F 25 500-519 28 28 28 42 42 42 F F F 26 520-539 30 28 30 43 42 43 F T F <--- 27 540-559 25 25 25 37 37 37 F F F 28 560-579 25 25 25 37 37 37 T F T <--- 29 580-599 27 27 27 41 41 41 F F F Max gen: 30, Max flush: 45 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 15 Verifying data now No change after verify Loop: 15 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 26 26 26 38 38 38 F F F 1 020-039 30 30 30 45 45 45 F F F 2 040-059 30 30 30 44 44 44 F F F 3 060-079 30 30 30 44 44 44 F F F 4 080-099 28 28 28 42 42 42 F F F 5 100-119 23 23 23 34 34 34 F F F 6 120-139 30 30 30 44 44 44 F F F 7 140-159 23 23 23 34 34 34 F F F 8 160-179 30 30 30 43 43 43 F F F 9 180-199 26 26 26 40 40 40 F F F 10 200-219 20 20 20 30 30 30 F F F 11 220-239 28 28 28 42 42 42 F F F 12 240-259 28 28 28 42 42 42 F F F 13 260-279 28 28 28 42 42 42 F F F 14 280-299 31 31 31 46 46 46 F F F 15 300-319 31 31 31 46 46 46 F F F 16 320-339 30 30 30 43 43 43 F F F 17 340-359 28 28 28 42 42 42 F F F 18 360-379 28 28 28 42 42 42 F F F 19 380-399 30 30 30 44 44 44 F F F 20 400-419 30 30 30 44 44 44 F F F 21 420-439 28 28 28 42 42 42 F F F 22 440-459 31 31 31 46 46 46 F F F 23 460-479 31 31 31 46 46 46 F F F 24 480-499 28 28 28 42 42 42 F F F 25 500-519 28 28 28 42 42 42 F F F 26 520-539 30 30 30 43 43 43 F F F 27 540-559 25 25 25 37 37 37 F F F 28 560-579 31 31 31 46 46 46 F F F 29 580-599 27 27 27 41 41 41 F F F Max gen: 31, Max flush: 46 Begin loop 16 Downstairs to restart: 2 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.34862019Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.356753977Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.357060278Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.357086355Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.357095144Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.357106912Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264} {"msg":"Crucible 655f8786-ceba-425f-acc5-b7ec371612b6 has session id: a0946571-b2b9-4de5-b460-020b2ac0c848","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.357526978Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"Upstairs opts: Upstairs UUID: 655f8786-ceba-425f-acc5-b7ec371612b6, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.357556734Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"Crucible stats registered with UUID: 655f8786-ceba-425f-acc5-b7ec371612b6","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.357568243Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:43:10.357577752Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.357727723Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"":"io task","client":"1","":"downstairs","session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.35774345Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"":"io task","client":"0","":"downstairs","session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.357753919Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"":"io task","client":"2","":"downstairs","session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.357893411Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"task":"crutest"} {"msg":"The guest has requested activation with gen:32","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.357913369Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264} {"msg":"655f8786-ceba-425f-acc5-b7ec371612b6 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.357930317Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.357939285Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"client":"0","":"downstairs","session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.357949164Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"client":"1","":"downstairs","session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.357958853Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"client":"2","":"downstairs","session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.357968662Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"":"io task","client":"2","":"downstairs","session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.35797885Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"":"io task","client":"0","":"downstairs","session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.357988909Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"":"io task","client":"1","":"downstairs","session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"ds_connection connected from Ok(127.0.0.1:42076)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.358035983Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"":"io task","client":"1","":"downstairs","session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"ds_connection connected from Ok(127.0.0.1:51689)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.358051561Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"":"io task","client":"0","":"downstairs","session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"ds_connection connected from Ok(127.0.0.1:40233)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.35806211Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"":"io task","client":"2","":"downstairs","session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.358737033Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"client":"0","":"downstairs","session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.35876044Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"client":"1","":"downstairs","session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.358772049Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"client":"2","":"downstairs","session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.359064861Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.359087048Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"[0]R flush_numbers[0..12]: [38, 45, 44, 44, 42, 34, 44, 34, 43, 40, 30, 42]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.359132462Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"":"downstairs","":"downstairs","session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"[0]R generation[0..12]: [26, 30, 30, 30, 28, 23, 30, 23, 30, 26, 20, 28]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.359144181Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"":"downstairs","":"downstairs","session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.359155329Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"":"downstairs","":"downstairs","session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"[1]R flush_numbers[0..12]: [38, 45, 44, 44, 42, 34, 44, 34, 43, 40, 30, 42]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.359165908Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"":"downstairs","":"downstairs","session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"[1]R generation[0..12]: [26, 30, 30, 30, 28, 23, 30, 23, 30, 26, 20, 28]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.359176397Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"":"downstairs","":"downstairs","session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.359187335Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"":"downstairs","":"downstairs","session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"[2]R flush_numbers[0..12]: [38, 45, 44, 44, 42, 34, 44, 34, 43, 40, 30, 42]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.359197894Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"":"downstairs","":"downstairs","session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"[2]R generation[0..12]: [26, 30, 30, 30, 28, 23, 30, 23, 30, 26, 20, 28]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.359208413Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"":"downstairs","":"downstairs","session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.359219371Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"":"downstairs","":"downstairs","session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"Max found gen is 32","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.35922903Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"":"downstairs","":"downstairs","session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"Generation requested: 32 >= found:32","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.359239139Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"":"downstairs","":"downstairs","session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"Next flush: 47","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.359248757Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"":"downstairs","":"downstairs","session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.359258376Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"":"downstairs","":"downstairs","session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.359268155Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.359278504Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"client":"0","":"downstairs","session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.359288352Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"client":"1","":"downstairs","session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.359298331Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"client":"2","":"downstairs","session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.35930852Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.359318009Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"655f8786-ceba-425f-acc5-b7ec371612b6 is now active with session: a0946571-b2b9-4de5-b460-020b2ac0c848","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.359328097Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.359337036Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"session_id":"a0946571-b2b9-4de5-b460-020b2ac0c848"} {"msg":"The guest has finished waiting for activation with:32","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.359346275Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264} {"msg":"Activated sub_volume 655f8786-ceba-425f-acc5-b7ec371612b6","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.359354404Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.359362673Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.359657865Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"task":"crutest"} 01/30 Write block 238 len 12288 data: 4 5 5 02/30 Read block 7 len 32768 03/30 Write block 553 len 16384 data: 5 5 4 5 04/30 Write block 558 len 12288 data: 5 4 3 05/30 Read block 525 len 12288 06/30 Read block 349 len 8192 07/30 Read block 107 len 8192 08/30 Read block 326 len 16384 09/30 Read block 121 len 24576 10/30 Read block 328 len 24576 11/30 Flush 12/30 Write block 482 len 36864 data: 6 6 6 4 4 4 5 5 4 13/30 Read block 61 len 32768 14/30 Write block 399 len 12288 data: 3 4 4 15/30 Read block 407 len 40960 16/30 Write block 313 len 24576 data: 3 3 2 2 2 3 17/30 Flush 18/30 Write block 231 len 28672 data: 3 3 3 3 5 5 5 19/30 Flush 20/30 Write block 235 len 4096 data: 6 21/30 Write block 541 len 36864 data: 6 7 6 6 5 3 4 3 3 22/30 Write block 61 len 24576 data: 4 4 4 3 2 2 23/30 Write block 145 len 20480 data: 5 4 3 3 3 24/30 Read block 419 len 20480 25/30 Read block 211 len 28672 26/30 Write block 290 len 4096 data: 2 27/30 Write block 176 len 12288 data: 4 4 3 28/30 Read block 7 len 24576 29/30 Write block 500 len 24576 data: 3 2 2 2 3 4 30/30 Read block 49 len 12288 ---------------------------------------------------------------- Crucible gen:32 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 3 Done Done Done false 1001 Acked Read 8 Done Done Sent false 1002 Acked Write 4 Done Done Sent false 1003 Acked Write 3 Done Done Sent false 1004 Acked Read 3 Done Done Sent false 1005 Acked Read 2 Done Done Sent false 1006 Acked Read 2 Done Done Sent false 1007 Acked Read 4 Done Done Sent false 1008 Acked Read 6 Done Done Sent false 1009 Acked Read 6 Done Done Sent false 1010 Acked Flush 0 Done Done Sent false 1011 Acked Write 9 Done Done Sent false 1012 Acked Read 8 Done Done Sent false 1013 Acked Write 3 Done Done Sent false 1014 Acked Read 10 Done Done Sent false 1015 Acked Write 6 Done Done Sent false 1016 Acked Flush 0 Done Done Sent false 1017 Acked Write 7 Done Done Sent false 1018 Acked Flush 0 Done Done Sent false 1019 Acked Write 1 Done Done Sent false 1020 Acked Write 9 Done Done Sent false 1021 Acked Write 6 Done Done Sent false 1022 Acked Write 5 Done Done Sent false 1023 Acked Read 5 Done Done Sent false 1024 Acked Read 7 Done Done Sent false 1025 Acked Write 1 Done Done Sent false 1026 Acked Write 3 Done Done Sent false 1027 Acked Read 6 Done Done Sent false 1028 Acked Write 6 Done Done Sent false 1029 Acked Read 3 Sent Done Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 1 0 29 30 Done 29 30 1 60 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1018)) Some(JobId(1018)) None Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:43:10.367254831Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:10.367539204Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1264,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 26 26 26 38 38 38 F F F 1 020-039 30 30 30 45 45 45 F F F 2 040-059 30 30 30 44 44 44 F F F 3 060-079 30 30 30 44 44 44 T T F <--- 4 080-099 28 28 28 42 42 42 F F F 5 100-119 23 23 23 34 34 34 F F F 6 120-139 30 30 30 44 44 44 F F F 7 140-159 23 23 23 34 34 34 T T F <--- 8 160-179 30 30 30 43 43 43 T T F <--- 9 180-199 26 26 26 40 40 40 F F F 10 200-219 20 20 20 30 30 30 F F F 11 220-239 32 32 28 49 49 42 T T T <--- 12 240-259 32 32 28 47 47 42 F F T <--- 13 260-279 28 28 28 42 42 42 F F F 14 280-299 31 31 31 46 46 46 T T F <--- 15 300-319 32 32 31 48 48 46 F F F <--- 16 320-339 30 30 30 43 43 43 F F F 17 340-359 28 28 28 42 42 42 F F F 18 360-379 28 28 28 42 42 42 F F F 19 380-399 32 32 30 48 48 44 F F F <--- 20 400-419 32 32 30 48 48 44 F F F <--- 21 420-439 28 28 28 42 42 42 F F F 22 440-459 31 31 31 46 46 46 F F F 23 460-479 31 31 31 46 46 46 F F F 24 480-499 32 32 28 48 48 42 F F F <--- 25 500-519 28 28 28 42 42 42 T T F <--- 26 520-539 30 30 30 43 43 43 F F F 27 540-559 32 32 25 47 47 37 T T F <--- 28 560-579 32 32 31 47 47 46 F F F <--- 29 580-599 27 27 27 41 41 41 F F F Max gen: 32, Max flush: 49 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 16 Verifying data now No change after verify Loop: 16 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 26 26 26 38 38 38 F F F 1 020-039 30 30 30 45 45 45 F F F 2 040-059 30 30 30 44 44 44 F F F 3 060-079 33 33 33 50 50 50 F F F 4 080-099 28 28 28 42 42 42 F F F 5 100-119 23 23 23 34 34 34 F F F 6 120-139 30 30 30 44 44 44 F F F 7 140-159 33 33 33 50 50 50 F F F 8 160-179 33 33 33 50 50 50 F F F 9 180-199 26 26 26 40 40 40 F F F 10 200-219 20 20 20 30 30 30 F F F 11 220-239 33 33 33 50 50 50 F F F 12 240-259 32 32 32 47 47 47 F F F 13 260-279 28 28 28 42 42 42 F F F 14 280-299 33 33 33 50 50 50 F F F 15 300-319 32 32 32 48 48 48 F F F 16 320-339 30 30 30 43 43 43 F F F 17 340-359 28 28 28 42 42 42 F F F 18 360-379 28 28 28 42 42 42 F F F 19 380-399 32 32 32 48 48 48 F F F 20 400-419 32 32 32 48 48 48 F F F 21 420-439 28 28 28 42 42 42 F F F 22 440-459 31 31 31 46 46 46 F F F 23 460-479 31 31 31 46 46 46 F F F 24 480-499 32 32 32 48 48 48 F F F 25 500-519 33 33 33 50 50 50 F F F 26 520-539 30 30 30 43 43 43 F F F 27 540-559 33 33 33 50 50 50 F F F 28 560-579 32 32 32 47 47 47 F F F 29 580-599 27 27 27 41 41 41 F F F Max gen: 33, Max flush: 50 Begin loop 17 Downstairs to restart: 1 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.606814897Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.614867765Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.615193083Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.615223469Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.615232078Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.615243776Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272} {"msg":"Crucible 66ca9cc3-5d73-4044-858d-129cf8c93123 has session id: 493dc83c-4244-4ee6-ac7f-941b273faf53","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.615633916Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"Upstairs opts: Upstairs UUID: 66ca9cc3-5d73-4044-858d-129cf8c93123, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.615665042Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"Crucible stats registered with UUID: 66ca9cc3-5d73-4044-858d-129cf8c93123","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.615675641Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:43:14.61568496Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.61583756Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"":"io task","client":"2","":"downstairs","session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.615853348Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"":"io task","client":"0","":"downstairs","session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.615865577Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"":"io task","client":"1","":"downstairs","session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.616011618Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"task":"crutest"} {"msg":"The guest has requested activation with gen:34","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.616035795Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272} {"msg":"66ca9cc3-5d73-4044-858d-129cf8c93123 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.616048433Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.616057382Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"client":"0","":"downstairs","session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.616067261Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"client":"1","":"downstairs","session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.61607703Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"client":"2","":"downstairs","session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.616086868Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"":"io task","client":"2","":"downstairs","session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.616097067Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"":"io task","client":"0","":"downstairs","session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.616107106Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"":"io task","client":"1","":"downstairs","session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"ds_connection connected from Ok(127.0.0.1:42215)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.616157059Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"":"io task","client":"2","":"downstairs","session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"ds_connection connected from Ok(127.0.0.1:61961)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.616168248Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"":"io task","client":"1","":"downstairs","session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"ds_connection connected from Ok(127.0.0.1:53158)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.616178817Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"":"io task","client":"0","":"downstairs","session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.616859179Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"client":"0","":"downstairs","session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.616885356Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"client":"1","":"downstairs","session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.616897304Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"client":"2","":"downstairs","session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.617200326Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.617224052Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"[0]R flush_numbers[0..12]: [38, 45, 44, 50, 42, 34, 44, 50, 50, 40, 30, 50]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.617270836Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"":"downstairs","":"downstairs","session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"[0]R generation[0..12]: [26, 30, 30, 33, 28, 23, 30, 33, 33, 26, 20, 33]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.617282595Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"":"downstairs","":"downstairs","session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.617293934Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"":"downstairs","":"downstairs","session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"[1]R flush_numbers[0..12]: [38, 45, 44, 50, 42, 34, 44, 50, 50, 40, 30, 50]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.617304562Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"":"downstairs","":"downstairs","session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"[1]R generation[0..12]: [26, 30, 30, 33, 28, 23, 30, 33, 33, 26, 20, 33]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.617315101Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"":"downstairs","":"downstairs","session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.617326089Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"":"downstairs","":"downstairs","session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"[2]R flush_numbers[0..12]: [38, 45, 44, 50, 42, 34, 44, 50, 50, 40, 30, 50]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.617336668Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"":"downstairs","":"downstairs","session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"[2]R generation[0..12]: [26, 30, 30, 33, 28, 23, 30, 33, 33, 26, 20, 33]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.617347327Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"":"downstairs","":"downstairs","session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.617358315Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"":"downstairs","":"downstairs","session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"Max found gen is 34","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.617367994Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"":"downstairs","":"downstairs","session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"Generation requested: 34 >= found:34","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.617377973Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"":"downstairs","":"downstairs","session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"Next flush: 51","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.617387502Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"":"downstairs","":"downstairs","session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.61739948Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"":"downstairs","":"downstairs","session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.617409769Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.617418678Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"client":"0","":"downstairs","session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.617428436Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"client":"1","":"downstairs","session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.617438155Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"client":"2","":"downstairs","session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.617448154Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.617457473Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"66ca9cc3-5d73-4044-858d-129cf8c93123 is now active with session: 493dc83c-4244-4ee6-ac7f-941b273faf53","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.617467551Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.61748087Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"session_id":"493dc83c-4244-4ee6-ac7f-941b273faf53"} {"msg":"The guest has finished waiting for activation with:34","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.617490358Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272} {"msg":"Activated sub_volume 66ca9cc3-5d73-4044-858d-129cf8c93123","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.617498837Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.617507146Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.617818006Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"task":"crutest"} 01/30 Write block 523 len 40960 data: 2 2 4 4 4 4 4 4 4 3 02/30 Write block 423 len 24576 data: 6 6 4 4 4 4 03/30 Read block 419 len 32768 04/30 Read block 73 len 40960 05/30 Read block 565 len 12288 06/30 Write block 317 len 32768 data: 3 4 3 4 4 5 5 5 07/30 Read block 95 len 16384 08/30 Write block 353 len 20480 data: 2 5 5 5 6 09/30 Read block 401 len 40960 10/30 Write block 38 len 8192 data: 5 4 11/30 Read block 126 len 32768 12/30 Write block 83 len 40960 data: 2 2 2 2 3 3 3 3 5 5 13/30 Read block 70 len 40960 14/30 Flush 15/30 Write block 69 len 28672 data: 2 3 3 3 3 3 3 16/30 Write block 579 len 28672 data: 5 5 5 3 3 3 2 17/30 Read block 21 len 20480 18/30 Read block 356 len 8192 19/30 Write block 221 len 16384 data: 6 7 7 7 20/30 Flush 21/30 Write block 402 len 28672 data: 4 4 4 2 2 3 4 22/30 Write block 44 len 20480 data: 5 5 5 4 3 23/30 Write block 522 len 36864 data: 2 3 3 5 5 5 5 5 5 24/30 Write block 538 len 24576 data: 5 5 6 7 8 7 25/30 Write block 40 len 16384 data: 4 5 3 4 26/30 Write block 353 len 24576 data: 3 6 6 6 7 7 27/30 Write block 244 len 16384 data: 4 5 4 3 28/30 Read block 3 len 32768 29/30 Write block 330 len 8192 data: 4 3 30/30 Read block 129 len 4096 ---------------------------------------------------------------- Crucible gen:34 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 10 Done Sent Done false 1001 Acked Write 6 Done Sent Done false 1002 Acked Read 8 Done Sent Done false 1003 Acked Read 10 Done Sent Done false 1004 Acked Read 3 Done Sent Done false 1005 Acked Write 8 Done Sent Done false 1006 Acked Read 4 Done Sent Done false 1007 Acked Write 5 Done Sent Done false 1008 Acked Read 10 Done Sent Done false 1009 Acked Write 2 Done Sent Done false 1010 Acked Read 8 Done Sent Done false 1011 Acked Write 10 Done Sent Done false 1012 Acked Read 10 Done Sent Done false 1013 Acked Flush 0 Done Sent Done false 1014 Acked Write 7 Done Sent Done false 1015 Acked Write 7 Done Sent Done false 1016 Acked Read 5 Done Sent Done false 1017 Acked Read 2 Done Sent Done false 1018 Acked Write 4 Done Sent Done false 1019 Acked Flush 0 Done Sent Done false 1020 Acked Write 7 Done Sent Done false 1021 Acked Write 5 Done Sent Done false 1022 Acked Write 9 Done Sent Done false 1023 Acked Write 6 Done Sent Done false 1024 Acked Write 4 Done Sent Done false 1025 Acked Write 6 Done Sent Done false 1026 Acked Write 4 Done Sent Done false 1027 Acked Read 8 Done Sent Done false 1028 Acked Write 2 Done Sent Sent false 1029 Acked Read 1 Done Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 0 30 2 32 Done 30 0 28 58 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1019)) None Some(JobId(1019)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:43:14.625710444Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:14.625971561Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1272,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 26 26 26 38 38 38 F F F 1 020-039 34 30 34 51 45 51 F F F <--- 2 040-059 30 30 30 44 44 44 T F T <--- 3 060-079 34 33 34 52 50 52 F F F <--- 4 080-099 34 28 34 51 42 51 F F F <--- 5 100-119 23 23 23 34 34 34 F F F 6 120-139 30 30 30 44 44 44 F F F 7 140-159 33 33 33 50 50 50 F F F 8 160-179 33 33 33 50 50 50 F F F 9 180-199 26 26 26 40 40 40 F F F 10 200-219 20 20 20 30 30 30 F F F 11 220-239 34 33 34 52 50 52 F F F <--- 12 240-259 32 32 32 47 47 47 T F T <--- 13 260-279 28 28 28 42 42 42 F F F 14 280-299 33 33 33 50 50 50 F F F 15 300-319 34 32 34 51 48 51 F F F <--- 16 320-339 34 30 34 51 43 51 T F T <--- 17 340-359 34 28 34 51 42 51 T F T <--- 18 360-379 28 28 28 42 42 42 F F F 19 380-399 32 32 32 48 48 48 F F F 20 400-419 32 32 32 48 48 48 T F T <--- 21 420-439 34 28 34 51 42 51 F F F <--- 22 440-459 31 31 31 46 46 46 F F F 23 460-479 31 31 31 46 46 46 F F F 24 480-499 32 32 32 48 48 48 F F F 25 500-519 33 33 33 50 50 50 F F F 26 520-539 34 30 34 51 43 51 T F T <--- 27 540-559 33 33 33 50 50 50 T F T <--- 28 560-579 34 32 34 52 47 52 F F F <--- 29 580-599 34 27 34 52 41 52 F F F <--- Max gen: 34, Max flush: 52 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 17 Verifying data now No change after verify Loop: 17 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 26 26 26 38 38 38 F F F 1 020-039 34 34 34 51 51 51 F F F 2 040-059 35 35 35 53 53 53 F F F 3 060-079 34 34 34 52 52 52 F F F 4 080-099 34 34 34 51 51 51 F F F 5 100-119 23 23 23 34 34 34 F F F 6 120-139 30 30 30 44 44 44 F F F 7 140-159 33 33 33 50 50 50 F F F 8 160-179 33 33 33 50 50 50 F F F 9 180-199 26 26 26 40 40 40 F F F 10 200-219 20 20 20 30 30 30 F F F 11 220-239 34 34 34 52 52 52 F F F 12 240-259 35 35 35 53 53 53 F F F 13 260-279 28 28 28 42 42 42 F F F 14 280-299 33 33 33 50 50 50 F F F 15 300-319 34 34 34 51 51 51 F F F 16 320-339 35 35 35 53 53 53 F F F 17 340-359 35 35 35 53 53 53 F F F 18 360-379 28 28 28 42 42 42 F F F 19 380-399 32 32 32 48 48 48 F F F 20 400-419 35 35 35 53 53 53 F F F 21 420-439 34 34 34 51 51 51 F F F 22 440-459 31 31 31 46 46 46 F F F 23 460-479 31 31 31 46 46 46 F F F 24 480-499 32 32 32 48 48 48 F F F 25 500-519 33 33 33 50 50 50 F F F 26 520-539 35 35 35 53 53 53 F F F 27 540-559 35 35 35 53 53 53 F F F 28 560-579 34 34 34 52 52 52 F F F 29 580-599 34 34 34 52 52 52 F F F Max gen: 35, Max flush: 53 Begin loop 18 Downstairs to restart: 2 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.868976784Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.877058628Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.877364938Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.877394924Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.877403573Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.877415092Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280} {"msg":"Crucible 369b6d99-395d-4bec-ba9e-0a694616269e has session id: fe3b7408-75c6-4aa1-b70e-216ae1dd4b76","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.877752109Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"Upstairs opts: Upstairs UUID: 369b6d99-395d-4bec-ba9e-0a694616269e, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.877810211Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"Crucible stats registered with UUID: 369b6d99-395d-4bec-ba9e-0a694616269e","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.87782107Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:43:18.877830809Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.877996397Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"":"io task","client":"0","":"downstairs","session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.878033603Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"":"io task","client":"1","":"downstairs","session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.878044541Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"":"io task","client":"2","":"downstairs","session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.878204301Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"task":"crutest"} {"msg":"The guest has requested activation with gen:36","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.878232027Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280} {"msg":"369b6d99-395d-4bec-ba9e-0a694616269e active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.878248305Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.878257724Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"client":"0","":"downstairs","session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.878267683Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"client":"1","":"downstairs","session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.878277491Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"client":"2","":"downstairs","session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.87828723Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"":"io task","client":"2","":"downstairs","session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.878302438Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"":"io task","client":"1","":"downstairs","session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.878312657Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"":"io task","client":"0","":"downstairs","session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"ds_connection connected from Ok(127.0.0.1:54672)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.878399506Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"":"io task","client":"2","":"downstairs","session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"ds_connection connected from Ok(127.0.0.1:35788)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.878546157Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"":"io task","client":"0","":"downstairs","session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"ds_connection connected from Ok(127.0.0.1:61513)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.878572383Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"":"io task","client":"1","":"downstairs","session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.879047113Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"client":"2","":"downstairs","session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.879086478Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"client":"1","":"downstairs","session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.879098096Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"client":"0","":"downstairs","session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.879343415Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.87937671Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"[0]R flush_numbers[0..12]: [38, 51, 53, 52, 51, 34, 44, 50, 50, 40, 30, 52]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.879419815Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"":"downstairs","":"downstairs","session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"[0]R generation[0..12]: [26, 34, 35, 34, 34, 23, 30, 33, 33, 26, 20, 34]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.879431083Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"":"downstairs","":"downstairs","session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.879442252Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"":"downstairs","":"downstairs","session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"[1]R flush_numbers[0..12]: [38, 51, 53, 52, 51, 34, 44, 50, 50, 40, 30, 52]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.879452711Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"":"downstairs","":"downstairs","session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"[1]R generation[0..12]: [26, 34, 35, 34, 34, 23, 30, 33, 33, 26, 20, 34]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.879463159Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"":"downstairs","":"downstairs","session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.879474248Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"":"downstairs","":"downstairs","session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"[2]R flush_numbers[0..12]: [38, 51, 53, 52, 51, 34, 44, 50, 50, 40, 30, 52]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.879484846Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"":"downstairs","":"downstairs","session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"[2]R generation[0..12]: [26, 34, 35, 34, 34, 23, 30, 33, 33, 26, 20, 34]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.879495315Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"":"downstairs","":"downstairs","session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.879506414Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"":"downstairs","":"downstairs","session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"Max found gen is 36","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.879516002Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"":"downstairs","":"downstairs","session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"Generation requested: 36 >= found:36","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.879526971Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"":"downstairs","":"downstairs","session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"Next flush: 54","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.8795364Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"":"downstairs","":"downstairs","session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.879546149Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"":"downstairs","":"downstairs","session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.879556087Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.879565066Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"client":"0","":"downstairs","session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.879574815Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"client":"1","":"downstairs","session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.879584534Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"client":"2","":"downstairs","session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.879594362Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.879603471Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"369b6d99-395d-4bec-ba9e-0a694616269e is now active with session: fe3b7408-75c6-4aa1-b70e-216ae1dd4b76","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.87961353Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.879622359Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"session_id":"fe3b7408-75c6-4aa1-b70e-216ae1dd4b76"} {"msg":"The guest has finished waiting for activation with:36","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.879631488Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280} {"msg":"Activated sub_volume 369b6d99-395d-4bec-ba9e-0a694616269e","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.879639967Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.879648406Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.879946497Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"task":"crutest"} 01/30 Flush 02/30 Write block 19 len 24576 data: 4 4 4 4 5 4 03/30 Write block 56 len 40960 data: 4 4 5 4 4 5 5 5 4 3 04/30 Write block 80 len 8192 data: 2 3 05/30 Read block 193 len 4096 06/30 Read block 227 len 4096 07/30 Write block 374 len 40960 data: 4 4 4 4 4 3 2 3 3 4 08/30 Read block 36 len 40960 09/30 Write block 88 len 28672 data: 4 4 4 6 6 5 4 10/30 Read block 372 len 28672 11/30 Write block 66 len 4096 data: 3 12/30 Read block 567 len 28672 13/30 Read block 486 len 40960 14/30 Write block 150 len 4096 data: 3 15/30 Read block 482 len 40960 16/30 Write block 542 len 36864 data: 9 8 7 6 4 5 4 4 6 17/30 Read block 489 len 8192 18/30 Write block 87 len 36864 data: 4 5 5 5 7 7 6 5 4 19/30 Write block 31 len 12288 data: 4 3 5 20/30 Flush 21/30 Write block 349 len 20480 data: 3 3 2 2 4 22/30 Read block 387 len 12288 23/30 Flush 24/30 Write block 400 len 40960 data: 5 5 5 5 5 3 3 4 5 3 25/30 Read block 549 len 24576 26/30 Write block 228 len 4096 data: 4 27/30 Read block 528 len 4096 28/30 Write block 208 len 4096 data: 5 29/30 Write block 503 len 28672 data: 3 4 5 4 7 8 7 30/30 Write block 270 len 28672 data: 4 5 5 4 3 4 4 ---------------------------------------------------------------- Crucible gen:36 GIO:true work queues: Upstairs:0 downstairs:29 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1001 Acked Write 6 Done Done Done false 1002 Acked Write 10 Done Done Sent false 1003 Acked Write 2 Done Done Sent false 1004 Acked Read 1 Done Done Sent false 1005 Acked Read 1 Done Done Sent false 1006 Acked Write 10 Done Done Sent false 1007 Acked Read 10 Done Done Sent false 1008 Acked Write 7 Done Done Sent false 1009 Acked Read 7 Done Done Sent false 1010 Acked Write 1 Done Done Sent false 1011 Acked Read 7 Done Done Sent false 1012 Acked Read 10 Done Done Sent false 1013 Acked Write 1 Done Done Sent false 1014 Acked Read 10 Done Done Sent false 1015 Acked Write 9 Done Done Sent false 1016 Acked Read 2 Done Done Sent false 1017 Acked Write 9 Done Done Sent false 1018 Acked Write 3 Done Done Sent false 1019 Acked Flush 0 Done Done Sent false 1020 Acked Write 5 Done Done Sent false 1021 Acked Read 3 Done Done Sent false 1022 Acked Flush 0 Done Done Sent false 1023 Acked Write 10 Done Done Sent false 1024 Acked Read 6 Done Done Sent false 1025 Acked Write 1 Done Done Sent false 1026 Acked Read 1 Done Done Sent false 1027 Acked Write 1 Sent Done Sent false 1028 Acked Write 7 Sent Sent Sent false 1029 Acked Write 7 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 3 2 28 33 Done 26 27 1 54 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1022)) Some(JobId(1022)) Some(JobId(1000)) Downstairs last five completed: 1000 Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:43:18.887551282Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:18.887832726Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1280,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 36 36 26 55 55 38 F F T <--- 1 020-039 36 36 34 55 55 51 F F T <--- 2 040-059 36 36 35 55 55 53 F F F <--- 3 060-079 36 36 34 55 55 52 F F F <--- 4 080-099 36 36 34 55 55 51 F F F <--- 5 100-119 23 23 23 34 34 34 F F F 6 120-139 30 30 30 44 44 44 F F F 7 140-159 36 36 33 55 55 50 F F F <--- 8 160-179 33 33 33 50 50 50 F F F 9 180-199 26 26 26 40 40 40 F F F 10 200-219 20 20 20 30 30 30 T T F <--- 11 220-239 34 34 34 52 52 52 T T F <--- 12 240-259 35 35 35 53 53 53 F F F 13 260-279 28 28 28 42 42 42 T T F <--- 14 280-299 33 33 33 50 50 50 F F F 15 300-319 34 34 34 51 51 51 F F F 16 320-339 35 35 35 53 53 53 F F F 17 340-359 36 36 35 56 56 53 F F F <--- 18 360-379 36 36 28 55 55 42 F F F <--- 19 380-399 36 36 32 55 55 48 F F F <--- 20 400-419 35 35 35 53 53 53 T T F <--- 21 420-439 34 34 34 51 51 51 F F F 22 440-459 31 31 31 46 46 46 F F F 23 460-479 31 31 31 46 46 46 F F F 24 480-499 32 32 32 48 48 48 F F F 25 500-519 33 33 33 50 50 50 T T F <--- 26 520-539 35 35 35 53 53 53 F F F 27 540-559 36 36 35 55 55 53 F F F <--- 28 560-579 34 34 34 52 52 52 F F F 29 580-599 34 34 34 52 52 52 F F F Max gen: 36, Max flush: 56 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 18 Verifying data now No change after verify Loop: 18 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 36 36 36 55 55 55 F F F 1 020-039 36 36 36 55 55 55 F F F 2 040-059 36 36 36 55 55 55 F F F 3 060-079 36 36 36 55 55 55 F F F 4 080-099 36 36 36 55 55 55 F F F 5 100-119 23 23 23 34 34 34 F F F 6 120-139 30 30 30 44 44 44 F F F 7 140-159 36 36 36 55 55 55 F F F 8 160-179 33 33 33 50 50 50 F F F 9 180-199 26 26 26 40 40 40 F F F 10 200-219 37 37 37 57 57 57 F F F 11 220-239 37 37 37 57 57 57 F F F 12 240-259 35 35 35 53 53 53 F F F 13 260-279 37 37 37 57 57 57 F F F 14 280-299 33 33 33 50 50 50 F F F 15 300-319 34 34 34 51 51 51 F F F 16 320-339 35 35 35 53 53 53 F F F 17 340-359 36 36 36 56 56 56 F F F 18 360-379 36 36 36 55 55 55 F F F 19 380-399 36 36 36 55 55 55 F F F 20 400-419 37 37 37 57 57 57 F F F 21 420-439 34 34 34 51 51 51 F F F 22 440-459 31 31 31 46 46 46 F F F 23 460-479 31 31 31 46 46 46 F F F 24 480-499 32 32 32 48 48 48 F F F 25 500-519 37 37 37 57 57 57 F F F 26 520-539 35 35 35 53 53 53 F F F 27 540-559 36 36 36 55 55 55 F F F 28 560-579 34 34 34 52 52 52 F F F 29 580-599 34 34 34 52 52 52 F F F Max gen: 37, Max flush: 57 Begin loop 19 Downstairs to restart: 1 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.132952368Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.141077106Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.141380498Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.141410634Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.141419493Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.141431141Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288} {"msg":"Crucible 9eb11c96-01ac-447c-8ec8-ca2ae5040efd has session id: 2263da48-2ddb-45b4-ab21-40d2a703d178","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.141789895Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"Upstairs opts: Upstairs UUID: 9eb11c96-01ac-447c-8ec8-ca2ae5040efd, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.141821141Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"Crucible stats registered with UUID: 9eb11c96-01ac-447c-8ec8-ca2ae5040efd","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.141834419Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:43:23.141843908Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.141995539Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"":"io task","client":"1","":"downstairs","session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.142018866Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"":"io task","client":"0","":"downstairs","session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.142029394Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"":"io task","client":"2","":"downstairs","session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.142184125Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"task":"crutest"} {"msg":"The guest has requested activation with gen:38","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.14221606Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288} {"msg":"9eb11c96-01ac-447c-8ec8-ca2ae5040efd active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.142225719Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.142234868Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"client":"0","":"downstairs","session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.142244737Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"client":"1","":"downstairs","session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.142254586Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"client":"2","":"downstairs","session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.142264384Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"":"io task","client":"2","":"downstairs","session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.142274553Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"":"io task","client":"0","":"downstairs","session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.142284592Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"":"io task","client":"1","":"downstairs","session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"ds_connection connected from Ok(127.0.0.1:46462)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.142337435Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"":"io task","client":"2","":"downstairs","session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"ds_connection connected from Ok(127.0.0.1:41549)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.142446731Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"":"io task","client":"0","":"downstairs","session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"ds_connection connected from Ok(127.0.0.1:53254)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.142466588Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"":"io task","client":"1","":"downstairs","session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.143013388Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"client":"0","":"downstairs","session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.143048074Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"client":"2","":"downstairs","session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.143059922Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"client":"1","":"downstairs","session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.143315419Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.143325548Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"[0]R flush_numbers[0..12]: [55, 55, 55, 55, 55, 34, 44, 55, 50, 40, 57, 57]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.143358074Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"":"downstairs","":"downstairs","session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"[0]R generation[0..12]: [36, 36, 36, 36, 36, 23, 30, 36, 33, 26, 37, 37]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.143369143Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"":"downstairs","":"downstairs","session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.143380341Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"":"downstairs","":"downstairs","session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"[1]R flush_numbers[0..12]: [55, 55, 55, 55, 55, 34, 44, 55, 50, 40, 57, 57]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.14339089Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"":"downstairs","":"downstairs","session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"[1]R generation[0..12]: [36, 36, 36, 36, 36, 23, 30, 36, 33, 26, 37, 37]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.143401638Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"":"downstairs","":"downstairs","session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.143412767Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"":"downstairs","":"downstairs","session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"[2]R flush_numbers[0..12]: [55, 55, 55, 55, 55, 34, 44, 55, 50, 40, 57, 57]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.143423526Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"":"downstairs","":"downstairs","session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"[2]R generation[0..12]: [36, 36, 36, 36, 36, 23, 30, 36, 33, 26, 37, 37]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.143434224Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"":"downstairs","":"downstairs","session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.143447912Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"":"downstairs","":"downstairs","session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"Max found gen is 38","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.143457511Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"":"downstairs","":"downstairs","session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"Generation requested: 38 >= found:38","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.14346735Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"":"downstairs","":"downstairs","session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"Next flush: 58","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.143476849Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"":"downstairs","":"downstairs","session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.143486488Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"":"downstairs","":"downstairs","session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.143496376Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.143505385Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"client":"0","":"downstairs","session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.143515144Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"client":"1","":"downstairs","session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.143524883Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"client":"2","":"downstairs","session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.143534861Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.14354425Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"9eb11c96-01ac-447c-8ec8-ca2ae5040efd is now active with session: 2263da48-2ddb-45b4-ab21-40d2a703d178","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.143554389Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.143563288Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"session_id":"2263da48-2ddb-45b4-ab21-40d2a703d178"} {"msg":"The guest has finished waiting for activation with:38","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.143572506Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288} {"msg":"Activated sub_volume 9eb11c96-01ac-447c-8ec8-ca2ae5040efd","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.143581005Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.143589354Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.143911103Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"task":"crutest"} 01/30 Write block 65 len 8192 data: 4 4 02/30 Write block 302 len 28672 data: 4 4 3 4 4 4 3 03/30 Read block 212 len 8192 04/30 Write block 70 len 16384 data: 4 4 4 4 05/30 Read block 357 len 28672 06/30 Read block 330 len 20480 07/30 Write block 292 len 40960 data: 3 3 5 6 6 7 8 7 7 5 08/30 Write block 287 len 32768 data: 4 4 4 3 2 4 4 6 09/30 Write block 544 len 24576 data: 8 7 5 6 5 5 10/30 Write block 576 len 40960 data: 7 5 5 6 6 6 4 4 4 3 11/30 Write block 295 len 24576 data: 7 7 8 9 8 8 12/30 Flush 13/30 Write block 572 len 28672 data: 6 7 6 6 8 6 6 14/30 Write block 47 len 28672 data: 5 4 3 3 3 2 2 15/30 Flush 16/30 Write block 501 len 12288 data: 3 3 4 17/30 Write block 285 len 16384 data: 4 5 5 5 18/30 Flush 19/30 Write block 25 len 40960 data: 2 2 3 4 4 4 5 4 6 6 20/30 Read block 221 len 40960 21/30 Flush 22/30 Write block 502 len 40960 data: 4 5 5 6 5 8 9 8 7 7 23/30 Write block 86 len 24576 data: 3 5 6 6 6 8 24/30 Write block 28 len 16384 data: 5 5 5 6 25/30 Read block 428 len 24576 26/30 Read block 257 len 40960 27/30 Write block 65 len 20480 data: 5 5 2 2 3 28/30 Read block 418 len 32768 29/30 Write block 337 len 28672 data: 2 4 3 4 4 4 4 30/30 Read block 13 len 40960 ---------------------------------------------------------------- Crucible gen:38 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 2 Done Done Done false 1001 Acked Write 7 Done Done Done false 1002 Acked Read 2 Done Done Done false 1003 Acked Write 4 Done Done Done false 1004 Acked Read 7 Done Done Done false 1005 Acked Read 5 Done Done Done false 1006 Acked Write 10 Done Done Done false 1007 Acked Write 8 Done Done Done false 1008 Acked Write 6 Done Done Done false 1009 Acked Write 10 Done Done Done false 1010 Acked Write 6 Done Sent Done false 1011 Acked Flush 0 Done Sent Done false 1012 Acked Write 7 Done Sent Done false 1013 Acked Write 7 Done Sent Done false 1014 Acked Flush 0 Done Sent Done false 1015 Acked Write 3 Done Sent Done false 1016 Acked Write 4 Done Sent Done false 1017 Acked Flush 0 Done Sent Done false 1018 Acked Write 10 Done Sent Done false 1019 Acked Read 10 Done Sent Done false 1020 Acked Flush 0 Done Sent Done false 1021 Acked Write 10 Done Sent Done false 1022 Acked Write 6 Done Sent Done false 1023 Acked Write 4 Done Sent Done false 1024 Acked Read 6 Done Sent Done false 1025 Acked Read 10 Done Sent Done false 1026 Acked Write 5 Done Sent Done false 1027 Acked Read 8 Done Sent Done false 1028 Acked Write 7 Done Sent Done false 1029 Acked Read 10 Done Sent Done false STATES DS:0 DS:1 DS:2 TOTAL Sent 0 20 0 20 Done 30 10 30 70 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1020)) None Some(JobId(1020)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:43:23.152023783Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:23.152300107Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1288,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 36 36 36 55 55 55 F F F 1 020-039 38 36 38 61 55 61 T F T <--- 2 040-059 38 36 38 59 55 59 F F F <--- 3 060-079 38 36 38 58 55 58 T T T <--- 4 080-099 36 36 36 55 55 55 T F T <--- 5 100-119 23 23 23 34 34 34 F F F 6 120-139 30 30 30 44 44 44 F F F 7 140-159 36 36 36 55 55 55 F F F 8 160-179 33 33 33 50 50 50 F F F 9 180-199 26 26 26 40 40 40 F F F 10 200-219 37 37 37 57 57 57 F F F 11 220-239 37 37 37 57 57 57 F F F 12 240-259 35 35 35 53 53 53 F F F 13 260-279 37 37 37 57 57 57 F F F 14 280-299 38 33 38 60 50 60 F T F <--- 15 300-319 38 34 38 58 51 58 F T F <--- 16 320-339 35 35 35 53 53 53 T F T <--- 17 340-359 36 36 36 56 56 56 T F T <--- 18 360-379 36 36 36 55 55 55 F F F 19 380-399 36 36 36 55 55 55 F F F 20 400-419 37 37 37 57 57 57 F F F 21 420-439 34 34 34 51 51 51 F F F 22 440-459 31 31 31 46 46 46 F F F 23 460-479 31 31 31 46 46 46 F F F 24 480-499 32 32 32 48 48 48 F F F 25 500-519 38 37 38 60 57 60 T F T <--- 26 520-539 35 35 35 53 53 53 F F F 27 540-559 38 36 38 58 55 58 F T F <--- 28 560-579 38 34 38 59 52 59 F T F <--- 29 580-599 38 34 38 58 52 58 F T F <--- Max gen: 38, Max flush: 61 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 19 Verifying data now No change after verify Loop: 19 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 36 36 36 55 55 55 F F F 1 020-039 39 39 39 62 62 62 F F F 2 040-059 38 38 38 59 59 59 F F F 3 060-079 39 39 39 62 62 62 F F F 4 080-099 39 39 39 62 62 62 F F F 5 100-119 23 23 23 34 34 34 F F F 6 120-139 30 30 30 44 44 44 F F F 7 140-159 36 36 36 55 55 55 F F F 8 160-179 33 33 33 50 50 50 F F F 9 180-199 26 26 26 40 40 40 F F F 10 200-219 37 37 37 57 57 57 F F F 11 220-239 37 37 37 57 57 57 F F F 12 240-259 35 35 35 53 53 53 F F F 13 260-279 37 37 37 57 57 57 F F F 14 280-299 38 38 38 60 60 60 F F F 15 300-319 38 38 38 58 58 58 F F F 16 320-339 39 39 39 62 62 62 F F F 17 340-359 39 39 39 62 62 62 F F F 18 360-379 36 36 36 55 55 55 F F F 19 380-399 36 36 36 55 55 55 F F F 20 400-419 37 37 37 57 57 57 F F F 21 420-439 34 34 34 51 51 51 F F F 22 440-459 31 31 31 46 46 46 F F F 23 460-479 31 31 31 46 46 46 F F F 24 480-499 32 32 32 48 48 48 F F F 25 500-519 39 39 39 62 62 62 F F F 26 520-539 35 35 35 53 53 53 F F F 27 540-559 38 38 38 58 58 58 F F F 28 560-579 38 38 38 59 59 59 F F F 29 580-599 38 38 38 58 58 58 F F F Max gen: 39, Max flush: 62 Begin loop 20 Downstairs to restart: 1 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.392320464Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.400495445Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.400829722Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.400861048Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.400869757Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.400881306Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296} {"msg":"Crucible be462d07-0fde-4233-be1e-8bcd3be9df72 has session id: 7b6addd7-2b46-47ca-851f-b1b96dbf50b5","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.40123985Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"Upstairs opts: Upstairs UUID: be462d07-0fde-4233-be1e-8bcd3be9df72, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.401269356Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"Crucible stats registered with UUID: be462d07-0fde-4233-be1e-8bcd3be9df72","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.401280525Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:43:27.401289903Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.401436525Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"":"io task","client":"2","":"downstairs","session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.401453133Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"":"io task","client":"1","":"downstairs","session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.401463301Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"":"io task","client":"0","":"downstairs","session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.401585356Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"task":"crutest"} {"msg":"The guest has requested activation with gen:40","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.401609223Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296} {"msg":"be462d07-0fde-4233-be1e-8bcd3be9df72 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.401624531Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.401633619Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"client":"0","":"downstairs","session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.401643398Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"client":"1","":"downstairs","session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.401653147Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"client":"2","":"downstairs","session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.401662746Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"":"io task","client":"2","":"downstairs","session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.401672914Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"":"io task","client":"1","":"downstairs","session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.401682993Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"":"io task","client":"0","":"downstairs","session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"ds_connection connected from Ok(127.0.0.1:59810)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.401740636Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"":"io task","client":"2","":"downstairs","session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"ds_connection connected from Ok(127.0.0.1:62685)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.401768962Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"":"io task","client":"1","":"downstairs","session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"ds_connection connected from Ok(127.0.0.1:52972)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.401780411Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"":"io task","client":"0","":"downstairs","session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.402459273Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"client":"0","":"downstairs","session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.402507777Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"client":"1","":"downstairs","session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.402549532Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"client":"2","":"downstairs","session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.402785792Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.402809959Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"[0]R flush_numbers[0..12]: [55, 62, 59, 62, 62, 34, 44, 55, 50, 40, 57, 57]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.402861462Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"":"downstairs","":"downstairs","session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"[0]R generation[0..12]: [36, 39, 38, 39, 39, 23, 30, 36, 33, 26, 37, 37]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.4028732Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"":"downstairs","":"downstairs","session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.402884939Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"":"downstairs","":"downstairs","session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"[1]R flush_numbers[0..12]: [55, 62, 59, 62, 62, 34, 44, 55, 50, 40, 57, 57]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.402895848Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"":"downstairs","":"downstairs","session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"[1]R generation[0..12]: [36, 39, 38, 39, 39, 23, 30, 36, 33, 26, 37, 37]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.402906496Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"":"downstairs","":"downstairs","session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.402917645Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"":"downstairs","":"downstairs","session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"[2]R flush_numbers[0..12]: [55, 62, 59, 62, 62, 34, 44, 55, 50, 40, 57, 57]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.402931143Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"":"downstairs","":"downstairs","session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"[2]R generation[0..12]: [36, 39, 38, 39, 39, 23, 30, 36, 33, 26, 37, 37]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.402941572Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"":"downstairs","":"downstairs","session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.40295251Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"":"downstairs","":"downstairs","session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"Max found gen is 40","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.402962349Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"":"downstairs","":"downstairs","session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"Generation requested: 40 >= found:40","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.402972178Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"":"downstairs","":"downstairs","session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"Next flush: 63","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.402981627Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"":"downstairs","":"downstairs","session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.402991055Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"":"downstairs","":"downstairs","session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.403000954Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.403010013Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"client":"0","":"downstairs","session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.403020062Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"client":"1","":"downstairs","session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.40302987Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"client":"2","":"downstairs","session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.403039849Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.403049238Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"be462d07-0fde-4233-be1e-8bcd3be9df72 is now active with session: 7b6addd7-2b46-47ca-851f-b1b96dbf50b5","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.403059317Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.403068105Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"session_id":"7b6addd7-2b46-47ca-851f-b1b96dbf50b5"} {"msg":"The guest has finished waiting for activation with:40","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.403077244Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296} {"msg":"Activated sub_volume be462d07-0fde-4233-be1e-8bcd3be9df72","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.403086463Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.403094712Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.403407092Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"task":"crutest"} 01/30 Write block 483 len 28672 data: 7 7 5 5 5 6 6 02/30 Write block 242 len 32768 data: 5 5 5 6 5 4 4 5 03/30 Read block 534 len 12288 04/30 Read block 435 len 40960 05/30 Write block 177 len 24576 data: 5 4 3 4 4 5 06/30 Write block 350 len 12288 data: 4 3 3 07/30 Write block 106 len 4096 data: 4 08/30 Write block 490 len 24576 data: 5 2 2 2 2 2 09/30 Read block 547 len 12288 10/30 Write block 551 len 40960 data: 6 5 6 6 5 6 5 6 5 4 11/30 Read block 289 len 40960 12/30 Read block 460 len 28672 13/30 Write block 582 len 8192 data: 5 5 14/30 Read block 297 len 8192 15/30 Write block 323 len 12288 data: 6 6 6 16/30 Write block 324 len 28672 data: 7 7 6 5 5 6 5 17/30 Read block 237 len 24576 18/30 Write block 0 len 40960 data: 2 3 3 3 3 5 6 6 7 7 19/30 Read block 154 len 16384 20/30 Read block 453 len 8192 21/30 Read block 539 len 16384 22/30 Write block 524 len 12288 data: 4 6 6 23/30 Read block 518 len 40960 24/30 Write block 91 len 32768 data: 9 8 7 6 5 3 3 3 25/30 Read block 476 len 8192 26/30 Write block 498 len 28672 data: 2 3 4 4 5 6 6 27/30 Read block 131 len 32768 28/30 Read block 158 len 28672 29/30 Write block 585 len 8192 data: 4 3 30/30 Write block 477 len 4096 data: 5 ---------------------------------------------------------------- Crucible gen:40 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 7 Done Done Done false 1001 Acked Write 8 Done Sent Done false 1002 Acked Read 3 Done Sent Done false 1003 Acked Read 10 Done Sent Done false 1004 Acked Write 6 Done Sent Done false 1005 Acked Write 3 Done Sent Done false 1006 Acked Write 1 Done Sent Done false 1007 Acked Write 6 Done Sent Done false 1008 Acked Read 3 Done Sent Done false 1009 Acked Write 10 Done Sent Done false 1010 Acked Read 10 Done Sent Done false 1011 Acked Read 7 Done Sent Done false 1012 Acked Write 2 Done Sent Done false 1013 Acked Read 2 Done Sent Done false 1014 Acked Write 3 Done Sent Done false 1015 Acked Write 7 Done Sent Done false 1016 Acked Read 6 Done Sent Done false 1017 Acked Write 10 Done Sent Done false 1018 Acked Read 4 Done Sent Done false 1019 Acked Read 2 Done Sent Done false 1020 Acked Read 4 Done Sent Done false 1021 Acked Write 3 Done Sent Done false 1022 Acked Read 10 Done Sent Done false 1023 Acked Write 8 Done Sent Done false 1024 Acked Read 2 Done Sent Done false 1025 Acked Write 7 Done Sent Done false 1026 Acked Read 8 Done Sent Done false 1027 Acked Read 7 Done Sent Done false 1028 Acked Write 2 Sent Sent Sent false 1029 Acked Write 1 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 2 29 2 33 Done 28 1 28 57 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: None None None Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:43:27.410933117Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:27.411213441Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1296,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 36 36 36 55 55 55 T F T <--- 1 020-039 39 39 39 62 62 62 F F F 2 040-059 38 38 38 59 59 59 F F F 3 060-079 39 39 39 62 62 62 F F F 4 080-099 39 39 39 62 62 62 T F T <--- 5 100-119 23 23 23 34 34 34 T F T <--- 6 120-139 30 30 30 44 44 44 F F F 7 140-159 36 36 36 55 55 55 F F F 8 160-179 33 33 33 50 50 50 T F T <--- 9 180-199 26 26 26 40 40 40 T F T <--- 10 200-219 37 37 37 57 57 57 F F F 11 220-239 37 37 37 57 57 57 F F F 12 240-259 35 35 35 53 53 53 T F T <--- 13 260-279 37 37 37 57 57 57 F F F 14 280-299 38 38 38 60 60 60 F F F 15 300-319 38 38 38 58 58 58 F F F 16 320-339 39 39 39 62 62 62 T F T <--- 17 340-359 39 39 39 62 62 62 T F T <--- 18 360-379 36 36 36 55 55 55 F F F 19 380-399 36 36 36 55 55 55 F F F 20 400-419 37 37 37 57 57 57 F F F 21 420-439 34 34 34 51 51 51 F F F 22 440-459 31 31 31 46 46 46 F F F 23 460-479 31 31 31 46 46 46 T F T <--- 24 480-499 32 32 32 48 48 48 T T T 25 500-519 39 39 39 62 62 62 T F T <--- 26 520-539 35 35 35 53 53 53 T F T <--- 27 540-559 38 38 38 58 58 58 T F T <--- 28 560-579 38 38 38 59 59 59 T F T <--- 29 580-599 38 38 38 58 58 58 T F T <--- Max gen: 39, Max flush: 62 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 20 Verifying data now No change after verify Loop: 20 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 40 40 40 63 63 63 F F F 1 020-039 39 39 39 62 62 62 F F F 2 040-059 38 38 38 59 59 59 F F F 3 060-079 39 39 39 62 62 62 F F F 4 080-099 40 40 40 63 63 63 F F F 5 100-119 40 40 40 63 63 63 F F F 6 120-139 30 30 30 44 44 44 F F F 7 140-159 36 36 36 55 55 55 F F F 8 160-179 40 40 40 63 63 63 F F F 9 180-199 40 40 40 63 63 63 F F F 10 200-219 37 37 37 57 57 57 F F F 11 220-239 37 37 37 57 57 57 F F F 12 240-259 40 40 40 63 63 63 F F F 13 260-279 37 37 37 57 57 57 F F F 14 280-299 38 38 38 60 60 60 F F F 15 300-319 38 38 38 58 58 58 F F F 16 320-339 40 40 40 63 63 63 F F F 17 340-359 40 40 40 63 63 63 F F F 18 360-379 36 36 36 55 55 55 F F F 19 380-399 36 36 36 55 55 55 F F F 20 400-419 37 37 37 57 57 57 F F F 21 420-439 34 34 34 51 51 51 F F F 22 440-459 31 31 31 46 46 46 F F F 23 460-479 40 40 40 63 63 63 F F F 24 480-499 40 40 40 63 63 63 F F F 25 500-519 40 40 40 63 63 63 F F F 26 520-539 40 40 40 63 63 63 F F F 27 540-559 40 40 40 63 63 63 F F F 28 560-579 40 40 40 63 63 63 F F F 29 580-599 40 40 40 63 63 63 F F F Max gen: 40, Max flush: 63 Begin loop 21 Downstairs to restart: 0 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.660931045Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"task":"crutest"} {"msg":"Failed to get info from \"http://127.0.0.1:12810\" Communication Error: error sending request for url (http://127.0.0.1:12810/region-info)","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:43:31.668038203Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"task":"crutest"} {"msg":"look at: http://127.0.0.1:12820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.668112204Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008820, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.675012479Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.675285114Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.67531391Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.675325159Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.675336737Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304} {"msg":"Crucible 7387bd5c-98b3-410b-af0e-f8b59a11de0f has session id: 68f570ca-3607-4938-b3b7-c361183f0d9a","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.67570574Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"Upstairs opts: Upstairs UUID: 7387bd5c-98b3-410b-af0e-f8b59a11de0f, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.675735936Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"Crucible stats registered with UUID: 7387bd5c-98b3-410b-af0e-f8b59a11de0f","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.675747255Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:43:31.675756753Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.675895496Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"":"io task","client":"1","":"downstairs","session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.675911174Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"":"io task","client":"0","":"downstairs","session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.675921402Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"":"io task","client":"2","":"downstairs","session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.676062104Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"task":"crutest"} {"msg":"The guest has requested activation with gen:42","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.676089191Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304} {"msg":"7387bd5c-98b3-410b-af0e-f8b59a11de0f active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.676107888Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.676116927Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"client":"0","":"downstairs","session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.676126766Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"client":"1","":"downstairs","session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.676138584Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"client":"2","":"downstairs","session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.676148363Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"":"io task","client":"2","":"downstairs","session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.676158672Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"":"io task","client":"0","":"downstairs","session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.676168801Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"":"io task","client":"1","":"downstairs","session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"ds_connection connected from Ok(127.0.0.1:39004)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.676207606Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"":"io task","client":"2","":"downstairs","session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"ds_connection connected from Ok(127.0.0.1:52616)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.676218704Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"":"io task","client":"1","":"downstairs","session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"ds_connection connected from Ok(127.0.0.1:40748)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.676277527Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"":"io task","client":"0","":"downstairs","session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.676885019Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"client":"1","":"downstairs","session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.676897567Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"client":"2","":"downstairs","session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.676908676Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"client":"0","":"downstairs","session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.677223155Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.677259391Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"[0]R flush_numbers[0..12]: [63, 62, 59, 62, 63, 63, 44, 55, 63, 63, 57, 57]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.677331171Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"":"downstairs","":"downstairs","session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"[0]R generation[0..12]: [40, 39, 38, 39, 40, 40, 30, 36, 40, 40, 37, 37]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.67734233Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"":"downstairs","":"downstairs","session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.677353719Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"":"downstairs","":"downstairs","session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"[1]R flush_numbers[0..12]: [63, 62, 59, 62, 63, 63, 44, 55, 63, 63, 57, 57]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.677366827Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"":"downstairs","":"downstairs","session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"[1]R generation[0..12]: [40, 39, 38, 39, 40, 40, 30, 36, 40, 40, 37, 37]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.677377426Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"":"downstairs","":"downstairs","session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.677388574Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"":"downstairs","":"downstairs","session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"[2]R flush_numbers[0..12]: [63, 62, 59, 62, 63, 63, 44, 55, 63, 63, 57, 57]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.677399053Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"":"downstairs","":"downstairs","session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"[2]R generation[0..12]: [40, 39, 38, 39, 40, 40, 30, 36, 40, 40, 37, 37]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.677409501Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"":"downstairs","":"downstairs","session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.67742053Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"":"downstairs","":"downstairs","session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"Max found gen is 41","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.677430149Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"":"downstairs","":"downstairs","session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"Generation requested: 42 >= found:41","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.677439948Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"":"downstairs","":"downstairs","session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"Next flush: 64","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.677449466Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"":"downstairs","":"downstairs","session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.677459025Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"":"downstairs","":"downstairs","session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.677468864Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.677477953Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"client":"0","":"downstairs","session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.677487821Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"client":"1","":"downstairs","session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.67749755Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"client":"2","":"downstairs","session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.677507579Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.677518038Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"7387bd5c-98b3-410b-af0e-f8b59a11de0f is now active with session: 68f570ca-3607-4938-b3b7-c361183f0d9a","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.677528186Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.677537215Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"session_id":"68f570ca-3607-4938-b3b7-c361183f0d9a"} {"msg":"The guest has finished waiting for activation with:42","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.677546504Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304} {"msg":"Activated sub_volume 7387bd5c-98b3-410b-af0e-f8b59a11de0f","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.677554653Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.677562932Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.67788958Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"task":"crutest"} 01/30 Write block 460 len 20480 data: 5 4 4 4 3 02/30 Flush 03/30 Write block 361 len 24576 data: 7 7 7 4 5 4 04/30 Read block 109 len 32768 05/30 Read block 547 len 20480 06/30 Write block 367 len 24576 data: 3 3 3 4 5 5 07/30 Read block 536 len 20480 08/30 Flush 09/30 Write block 180 len 16384 data: 5 5 6 5 10/30 Read block 258 len 36864 11/30 Write block 196 len 32768 data: 4 4 4 4 3 3 3 5 12/30 Read block 258 len 8192 13/30 Write block 107 len 8192 data: 5 5 14/30 Read block 124 len 20480 15/30 Write block 367 len 32768 data: 4 4 4 5 6 6 5 5 16/30 Write block 190 len 32768 data: 5 5 6 7 5 5 5 5 17/30 Read block 118 len 36864 18/30 Write block 331 len 4096 data: 4 19/30 Write block 494 len 24576 data: 3 3 2 2 3 4 20/30 Read block 164 len 32768 21/30 Write block 208 len 36864 data: 6 5 6 6 4 4 4 5 4 22/30 Write block 224 len 8192 data: 8 6 23/30 Write block 419 len 16384 data: 6 7 7 5 24/30 Write block 557 len 16384 data: 6 7 6 5 25/30 Read block 507 len 32768 26/30 Write block 284 len 32768 data: 4 5 6 6 6 5 4 3 27/30 Read block 86 len 4096 28/30 Read block 341 len 32768 29/30 Read block 232 len 28672 30/30 Write block 186 len 28672 data: 4 4 4 5 6 6 7 ---------------------------------------------------------------- Crucible gen:42 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 5 Done Done Done false 1001 Acked Flush 0 Sent Done Done false 1002 Acked Write 6 Sent Done Done false 1003 Acked Read 8 Sent Done Done false 1004 Acked Read 5 Sent Done Done false 1005 Acked Write 6 Sent Done Done false 1006 Acked Read 5 Sent Done Done false 1007 Acked Flush 0 Sent Done Done false 1008 Acked Write 4 Sent Done Done false 1009 Acked Read 9 Sent Done Done false 1010 Acked Write 8 Sent Done Done false 1011 Acked Read 2 Sent Done Done false 1012 Acked Write 2 Sent Done Done false 1013 Acked Read 5 Sent Done Done false 1014 Acked Write 8 Sent Done Done false 1015 Acked Write 8 Sent Done Done false 1016 Acked Read 9 Sent Done Done false 1017 Acked Write 1 Sent Done Done false 1018 Acked Write 6 Sent Done Done false 1019 Acked Read 8 Sent Done Done false 1020 Acked Write 9 Sent Done Done false 1021 Acked Write 2 Sent Done Done false 1022 Acked Write 4 Sent Done Done false 1023 Acked Write 4 Sent Done Done false 1024 Acked Read 8 Sent Done Done false 1025 Acked Write 8 Sent Done Done false 1026 Acked Read 1 Sent Done Done false 1027 Acked Read 8 Sent Done Done false 1028 Acked Read 7 Sent Done Done false 1029 Acked Write 7 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 29 1 1 31 Done 1 29 29 59 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: None Some(JobId(1007)) Some(JobId(1007)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:43:31.686635938Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:31.686926511Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1304,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 40 40 40 63 63 63 F F F 1 020-039 39 39 39 62 62 62 F F F 2 040-059 38 38 38 59 59 59 F F F 3 060-079 39 39 39 62 62 62 F F F 4 080-099 40 40 40 63 63 63 F F F 5 100-119 40 40 40 63 63 63 F T T <--- 6 120-139 30 30 30 44 44 44 F F F 7 140-159 36 36 36 55 55 55 F F F 8 160-179 40 40 40 63 63 63 F F F 9 180-199 40 40 40 63 63 63 F T T <--- 10 200-219 37 37 37 57 57 57 F T T <--- 11 220-239 37 37 37 57 57 57 F T T <--- 12 240-259 40 40 40 63 63 63 F F F 13 260-279 37 37 37 57 57 57 F F F 14 280-299 38 38 38 60 60 60 F T T <--- 15 300-319 38 38 38 58 58 58 F F F 16 320-339 40 40 40 63 63 63 F T T <--- 17 340-359 40 40 40 63 63 63 F F F 18 360-379 36 42 42 55 65 65 F T T <--- 19 380-399 36 36 36 55 55 55 F F F 20 400-419 37 37 37 57 57 57 F T T <--- 21 420-439 34 34 34 51 51 51 F T T <--- 22 440-459 31 31 31 46 46 46 F F F 23 460-479 40 42 42 63 64 64 T F F <--- 24 480-499 40 40 40 63 63 63 F T T <--- 25 500-519 40 40 40 63 63 63 F F F 26 520-539 40 40 40 63 63 63 F F F 27 540-559 40 40 40 63 63 63 F T T <--- 28 560-579 40 40 40 63 63 63 F T T <--- 29 580-599 40 40 40 63 63 63 F F F Max gen: 42, Max flush: 65 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 21 Verifying data now No change after verify Loop: 21 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 40 40 40 63 63 63 F F F 1 020-039 39 39 39 62 62 62 F F F 2 040-059 38 38 38 59 59 59 F F F 3 060-079 39 39 39 62 62 62 F F F 4 080-099 40 40 40 63 63 63 F F F 5 100-119 43 43 43 66 66 66 F F F 6 120-139 30 30 30 44 44 44 F F F 7 140-159 36 36 36 55 55 55 F F F 8 160-179 40 40 40 63 63 63 F F F 9 180-199 43 43 43 66 66 66 F F F 10 200-219 43 43 43 66 66 66 F F F 11 220-239 43 43 43 66 66 66 F F F 12 240-259 40 40 40 63 63 63 F F F 13 260-279 37 37 37 57 57 57 F F F 14 280-299 43 43 43 66 66 66 F F F 15 300-319 38 38 38 58 58 58 F F F 16 320-339 43 43 43 66 66 66 F F F 17 340-359 40 40 40 63 63 63 F F F 18 360-379 43 43 43 66 66 66 F F F 19 380-399 36 36 36 55 55 55 F F F 20 400-419 43 43 43 66 66 66 F F F 21 420-439 43 43 43 66 66 66 F F F 22 440-459 31 31 31 46 46 46 F F F 23 460-479 42 42 42 64 64 64 F F F 24 480-499 43 43 43 66 66 66 F F F 25 500-519 40 40 40 63 63 63 F F F 26 520-539 40 40 40 63 63 63 F F F 27 540-559 43 43 43 66 66 66 F F F 28 560-579 43 43 43 66 66 66 F F F 29 580-599 40 40 40 63 63 63 F F F Max gen: 43, Max flush: 66 Begin loop 22 Downstairs to restart: 1 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.939518775Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.947731312Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.948044272Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.948094235Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.948105974Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.948117892Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312} {"msg":"Crucible d61100d0-9dac-495b-bae4-40b5923dff8f has session id: 6b24f9be-7ae2-4051-8108-d1162ff2f6cb","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.948413204Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"Upstairs opts: Upstairs UUID: d61100d0-9dac-495b-bae4-40b5923dff8f, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.94844441Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"Crucible stats registered with UUID: d61100d0-9dac-495b-bae4-40b5923dff8f","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.948456009Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:43:35.948465588Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.948633546Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"":"io task","client":"2","":"downstairs","session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.948649204Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"":"io task","client":"1","":"downstairs","session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.948659403Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"":"io task","client":"0","":"downstairs","session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.948791236Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"task":"crutest"} {"msg":"The guest has requested activation with gen:44","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.948815243Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312} {"msg":"d61100d0-9dac-495b-bae4-40b5923dff8f active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.94883895Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.948850528Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"client":"0","":"downstairs","session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.948860307Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"client":"1","":"downstairs","session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.948870136Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"client":"2","":"downstairs","session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.948880015Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"":"io task","client":"2","":"downstairs","session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.948890193Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"":"io task","client":"1","":"downstairs","session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.948900122Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"":"io task","client":"0","":"downstairs","session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"ds_connection connected from Ok(127.0.0.1:50088)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.948949696Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"":"io task","client":"1","":"downstairs","session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"ds_connection connected from Ok(127.0.0.1:39098)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.948978562Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"":"io task","client":"2","":"downstairs","session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"ds_connection connected from Ok(127.0.0.1:35933)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.94899001Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"":"io task","client":"0","":"downstairs","session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.949637817Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"client":"0","":"downstairs","session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.949669693Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"client":"2","":"downstairs","session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.949681152Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"client":"1","":"downstairs","session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.949960766Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.949970695Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"[0]R flush_numbers[0..12]: [63, 62, 59, 62, 63, 66, 44, 55, 63, 66, 66, 66]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.950012199Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"":"downstairs","":"downstairs","session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"[0]R generation[0..12]: [40, 39, 38, 39, 40, 43, 30, 36, 40, 43, 43, 43]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.950025418Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"":"downstairs","":"downstairs","session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.950036676Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"":"downstairs","":"downstairs","session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"[1]R flush_numbers[0..12]: [63, 62, 59, 62, 63, 66, 44, 55, 63, 66, 66, 66]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.950047215Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"":"downstairs","":"downstairs","session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"[1]R generation[0..12]: [40, 39, 38, 39, 40, 43, 30, 36, 40, 43, 43, 43]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.950057654Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"":"downstairs","":"downstairs","session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.950068682Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"":"downstairs","":"downstairs","session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"[2]R flush_numbers[0..12]: [63, 62, 59, 62, 63, 66, 44, 55, 63, 66, 66, 66]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.950079201Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"":"downstairs","":"downstairs","session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"[2]R generation[0..12]: [40, 39, 38, 39, 40, 43, 30, 36, 40, 43, 43, 43]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.950089629Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"":"downstairs","":"downstairs","session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.950100708Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"":"downstairs","":"downstairs","session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"Max found gen is 44","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.950110287Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"":"downstairs","":"downstairs","session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"Generation requested: 44 >= found:44","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.950120185Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"":"downstairs","":"downstairs","session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"Next flush: 67","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.950129724Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"":"downstairs","":"downstairs","session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.950139303Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"":"downstairs","":"downstairs","session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.950149192Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.950158221Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"client":"0","":"downstairs","session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.950168089Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"client":"1","":"downstairs","session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.950179048Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"client":"2","":"downstairs","session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.950189107Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.950198425Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"d61100d0-9dac-495b-bae4-40b5923dff8f is now active with session: 6b24f9be-7ae2-4051-8108-d1162ff2f6cb","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.950208554Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.950217493Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"session_id":"6b24f9be-7ae2-4051-8108-d1162ff2f6cb"} {"msg":"The guest has finished waiting for activation with:44","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.950226662Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312} {"msg":"Activated sub_volume d61100d0-9dac-495b-bae4-40b5923dff8f","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.950234661Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.95024303Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.950546101Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"task":"crutest"} 01/30 Write block 571 len 16384 data: 4 7 8 7 02/30 Write block 155 len 32768 data: 6 6 6 6 6 3 3 4 03/30 Write block 110 len 32768 data: 5 5 5 3 3 3 2 3 04/30 Read block 57 len 32768 05/30 Write block 509 len 8192 data: 9 8 06/30 Write block 391 len 40960 data: 5 4 4 4 4 4 4 2 4 6 07/30 Read block 1 len 4096 08/30 Read block 568 len 28672 09/30 Read block 422 len 16384 10/30 Write block 593 len 20480 data: 3 3 3 3 3 11/30 Write block 333 len 4096 data: 3 12/30 Read block 20 len 32768 13/30 Write block 586 len 24576 data: 4 4 4 3 3 3 14/30 Write block 361 len 40960 data: 8 8 8 5 6 5 5 5 5 6 15/30 Write block 565 len 16384 data: 3 4 4 4 16/30 Read block 304 len 24576 17/30 Write block 561 len 20480 data: 2 3 3 3 4 18/30 Read block 81 len 16384 19/30 Read block 352 len 32768 20/30 Write block 158 len 24576 data: 7 7 4 4 5 5 21/30 Flush 22/30 Write block 325 len 4096 data: 8 23/30 Read block 392 len 24576 24/30 Write block 344 len 24576 data: 4 4 4 4 3 4 25/30 Read block 136 len 40960 26/30 Read block 570 len 24576 27/30 Write block 98 len 24576 data: 4 4 3 3 5 5 28/30 Write block 280 len 40960 data: 4 4 4 4 5 6 7 7 7 6 29/30 Read block 256 len 4096 30/30 Read block 271 len 28672 ---------------------------------------------------------------- Crucible gen:44 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 4 Done Done Done false 1001 Acked Write 8 Done Done Done false 1002 Acked Write 8 Done Done Done false 1003 Acked Read 8 Done Done Done false 1004 Acked Write 2 Done Done Done false 1005 Acked Write 10 Done Done Done false 1006 Acked Read 1 Done Done Done false 1007 Acked Read 7 Done Sent Done false 1008 Acked Read 4 Done Sent Done false 1009 Acked Write 5 Done Sent Done false 1010 Acked Write 1 Done Sent Done false 1011 Acked Read 8 Done Sent Done false 1012 Acked Write 6 Done Sent Done false 1013 Acked Write 10 Done Sent Done false 1014 Acked Write 4 Done Sent Done false 1015 Acked Read 6 Done Sent Done false 1016 Acked Write 5 Done Sent Done false 1017 Acked Read 4 Done Sent Done false 1018 Acked Read 8 Done Sent Done false 1019 Acked Write 6 Done Sent Done false 1020 Acked Flush 0 Done Sent Done false 1021 Acked Write 1 Done Sent Done false 1022 Acked Read 6 Done Sent Done false 1023 Acked Write 6 Done Sent Done false 1024 Acked Read 10 Done Sent Done false 1025 Acked Read 6 Done Sent Done false 1026 Acked Write 6 Done Sent Done false 1027 Acked Write 10 Done Sent Done false 1028 Acked Read 1 Done Sent Done false 1029 Acked Read 7 Done Sent Done false STATES DS:0 DS:1 DS:2 TOTAL Sent 0 23 0 23 Done 30 7 30 67 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1020)) None Some(JobId(1020)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:43:35.958214068Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:35.958486743Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1312,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 40 40 40 63 63 63 F F F 1 020-039 39 39 39 62 62 62 F F F 2 040-059 38 38 38 59 59 59 F F F 3 060-079 39 39 39 62 62 62 F F F 4 080-099 40 40 40 63 63 63 T F T <--- 5 100-119 44 43 44 67 66 67 T T T <--- 6 120-139 30 30 30 44 44 44 F F F 7 140-159 44 36 44 67 55 67 F T F <--- 8 160-179 44 40 44 67 63 67 F T F <--- 9 180-199 43 43 43 66 66 66 F F F 10 200-219 43 43 43 66 66 66 F F F 11 220-239 43 43 43 66 66 66 F F F 12 240-259 40 40 40 63 63 63 F F F 13 260-279 37 37 37 57 57 57 F F F 14 280-299 43 43 43 66 66 66 T F T <--- 15 300-319 38 38 38 58 58 58 F F F 16 320-339 44 43 44 67 66 67 T F T <--- 17 340-359 40 40 40 63 63 63 T F T <--- 18 360-379 44 43 44 67 66 67 F F F <--- 19 380-399 44 36 44 67 55 67 F T F <--- 20 400-419 44 43 44 67 66 67 F T F <--- 21 420-439 43 43 43 66 66 66 F F F 22 440-459 31 31 31 46 46 46 F F F 23 460-479 42 42 42 64 64 64 F F F 24 480-499 43 43 43 66 66 66 F F F 25 500-519 44 40 44 67 63 67 F T F <--- 26 520-539 40 40 40 63 63 63 F F F 27 540-559 43 43 43 66 66 66 F F F 28 560-579 44 43 44 67 66 67 F T F <--- 29 580-599 44 40 44 67 63 67 F F F <--- Max gen: 44, Max flush: 67 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 22 Verifying data now No change after verify Loop: 22 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 40 40 40 63 63 63 F F F 1 020-039 39 39 39 62 62 62 F F F 2 040-059 38 38 38 59 59 59 F F F 3 060-079 39 39 39 62 62 62 F F F 4 080-099 45 45 45 68 68 68 F F F 5 100-119 45 45 45 68 68 68 F F F 6 120-139 30 30 30 44 44 44 F F F 7 140-159 44 44 44 67 67 67 F F F 8 160-179 44 44 44 67 67 67 F F F 9 180-199 43 43 43 66 66 66 F F F 10 200-219 43 43 43 66 66 66 F F F 11 220-239 43 43 43 66 66 66 F F F 12 240-259 40 40 40 63 63 63 F F F 13 260-279 37 37 37 57 57 57 F F F 14 280-299 45 45 45 68 68 68 F F F 15 300-319 38 38 38 58 58 58 F F F 16 320-339 45 45 45 68 68 68 F F F 17 340-359 45 45 45 68 68 68 F F F 18 360-379 44 44 44 67 67 67 F F F 19 380-399 44 44 44 67 67 67 F F F 20 400-419 44 44 44 67 67 67 F F F 21 420-439 43 43 43 66 66 66 F F F 22 440-459 31 31 31 46 46 46 F F F 23 460-479 42 42 42 64 64 64 F F F 24 480-499 43 43 43 66 66 66 F F F 25 500-519 44 44 44 67 67 67 F F F 26 520-539 40 40 40 63 63 63 F F F 27 540-559 43 43 43 66 66 66 F F F 28 560-579 44 44 44 67 67 67 F F F 29 580-599 44 44 44 67 67 67 F F F Max gen: 45, Max flush: 68 Begin loop 23 Downstairs to restart: 1 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.19859094Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.206831243Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.207140733Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.2071688Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.207178249Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.207189977Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320} {"msg":"Crucible 02d80305-c515-473e-8455-5c0fd52ba9a6 has session id: e3116fdd-5eee-4269-a3de-dea2842dbe54","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.207536123Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"Upstairs opts: Upstairs UUID: 02d80305-c515-473e-8455-5c0fd52ba9a6, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.207565319Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"Crucible stats registered with UUID: 02d80305-c515-473e-8455-5c0fd52ba9a6","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.207576088Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:43:40.207585486Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.207740716Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"":"io task","client":"1","":"downstairs","session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.207770093Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"":"io task","client":"0","":"downstairs","session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.207781021Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"":"io task","client":"2","":"downstairs","session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.207909395Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"task":"crutest"} {"msg":"The guest has requested activation with gen:46","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.207929052Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320} {"msg":"02d80305-c515-473e-8455-5c0fd52ba9a6 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.20794673Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.207956129Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"client":"0","":"downstairs","session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.207966568Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"client":"1","":"downstairs","session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.207976706Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"client":"2","":"downstairs","session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.207986565Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"":"io task","client":"2","":"downstairs","session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.207996894Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"":"io task","client":"0","":"downstairs","session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.208007212Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"":"io task","client":"1","":"downstairs","session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"ds_connection connected from Ok(127.0.0.1:46630)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.208060006Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"":"io task","client":"2","":"downstairs","session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"ds_connection connected from Ok(127.0.0.1:48268)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.2081006Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"":"io task","client":"1","":"downstairs","session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"ds_connection connected from Ok(127.0.0.1:59385)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.208112039Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"":"io task","client":"0","":"downstairs","session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.208754297Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"client":"0","":"downstairs","session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.208785163Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"client":"1","":"downstairs","session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.208797201Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"client":"2","":"downstairs","session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.209093843Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.209136597Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"[0]R flush_numbers[0..12]: [63, 62, 59, 62, 68, 68, 44, 67, 67, 66, 66, 66]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.209190281Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"":"downstairs","":"downstairs","session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"[0]R generation[0..12]: [40, 39, 38, 39, 45, 45, 30, 44, 44, 43, 43, 43]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.209201469Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"":"downstairs","":"downstairs","session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.209212658Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"":"downstairs","":"downstairs","session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"[1]R flush_numbers[0..12]: [63, 62, 59, 62, 68, 68, 44, 67, 67, 66, 66, 66]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.209223336Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"":"downstairs","":"downstairs","session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"[1]R generation[0..12]: [40, 39, 38, 39, 45, 45, 30, 44, 44, 43, 43, 43]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.209233735Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"":"downstairs","":"downstairs","session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.209244734Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"":"downstairs","":"downstairs","session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"[2]R flush_numbers[0..12]: [63, 62, 59, 62, 68, 68, 44, 67, 67, 66, 66, 66]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.209255192Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"":"downstairs","":"downstairs","session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"[2]R generation[0..12]: [40, 39, 38, 39, 45, 45, 30, 44, 44, 43, 43, 43]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.209265791Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"":"downstairs","":"downstairs","session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.209276869Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"":"downstairs","":"downstairs","session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"Max found gen is 46","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.209286488Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"":"downstairs","":"downstairs","session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"Generation requested: 46 >= found:46","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.209296297Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"":"downstairs","":"downstairs","session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"Next flush: 69","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.209305846Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"":"downstairs","":"downstairs","session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.209315435Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"":"downstairs","":"downstairs","session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.209326383Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.209335272Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"client":"0","":"downstairs","session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.209345061Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"client":"1","":"downstairs","session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.20935479Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"client":"2","":"downstairs","session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.209364998Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.209374327Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"02d80305-c515-473e-8455-5c0fd52ba9a6 is now active with session: e3116fdd-5eee-4269-a3de-dea2842dbe54","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.209384396Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.209393415Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"session_id":"e3116fdd-5eee-4269-a3de-dea2842dbe54"} {"msg":"The guest has finished waiting for activation with:46","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.209402573Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320} {"msg":"Activated sub_volume 02d80305-c515-473e-8455-5c0fd52ba9a6","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.209411152Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.209419511Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.209692206Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"task":"crutest"} 01/30 Write block 475 len 28672 data: 4 5 6 5 6 5 5 02/30 Write block 575 len 12288 data: 7 9 7 03/30 Read block 190 len 36864 04/30 Read block 527 len 12288 05/30 Write block 430 len 4096 data: 5 06/30 Write block 246 len 4096 data: 6 07/30 Read block 58 len 24576 08/30 Read block 266 len 32768 09/30 Flush 10/30 Write block 223 len 20480 data: 8 9 7 6 4 11/30 Write block 339 len 12288 data: 4 5 5 12/30 Read block 398 len 4096 13/30 Write block 81 len 32768 data: 4 3 3 3 3 4 6 7 14/30 Write block 292 len 8192 data: 5 5 15/30 Read block 313 len 16384 16/30 Write block 462 len 36864 data: 5 5 4 2 3 3 4 4 4 17/30 Read block 274 len 40960 18/30 Read block 178 len 40960 19/30 Flush 20/30 Write block 103 len 12288 data: 6 3 4 21/30 Write block 229 len 32768 data: 4 4 4 4 4 4 7 6 22/30 Read block 264 len 12288 23/30 Read block 81 len 32768 24/30 Write block 410 len 20480 data: 3 3 3 3 3 25/30 Read block 10 len 24576 26/30 Read block 319 len 28672 27/30 Write block 423 len 8192 data: 7 7 28/30 Write block 323 len 16384 data: 7 8 9 7 29/30 Read block 238 len 4096 30/30 Write block 516 len 12288 data: 4 3 3 ---------------------------------------------------------------- Crucible gen:46 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 7 Done Done Done false 1001 Acked Write 3 Done Done Done false 1002 Acked Read 9 Done Sent Done false 1003 Acked Read 3 Done Sent Done false 1004 Acked Write 1 Done Sent Done false 1005 Acked Write 1 Done Sent Done false 1006 Acked Read 6 Done Sent Done false 1007 Acked Read 8 Done Sent Done false 1008 Acked Flush 0 Done Sent Done false 1009 Acked Write 5 Done Sent Done false 1010 Acked Write 3 Done Sent Done false 1011 Acked Read 1 Done Sent Done false 1012 Acked Write 8 Done Sent Done false 1013 Acked Write 2 Done Sent Done false 1014 Acked Read 4 Done Sent Done false 1015 Acked Write 9 Done Sent Done false 1016 Acked Read 10 Done Sent Done false 1017 Acked Read 10 Done Sent Done false 1018 Acked Flush 0 Done Sent Done false 1019 Acked Write 3 Done Sent Done false 1020 Acked Write 8 Done Sent Done false 1021 Acked Read 3 Done Sent Done false 1022 Acked Read 8 Done Sent Done false 1023 Acked Write 5 Done Sent Done false 1024 Acked Read 6 Done Sent Done false 1025 Acked Read 7 Done Sent Done false 1026 Acked Write 2 Done Sent Done false 1027 Acked Write 4 Done Sent Done false 1028 Acked Read 1 Done Sent Done false 1029 Acked Write 3 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 1 28 1 30 Done 29 2 29 60 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1018)) None Some(JobId(1018)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:43:40.217273734Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:40.217556178Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1320,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 40 40 40 63 63 63 F F F 1 020-039 39 39 39 62 62 62 F F F 2 040-059 38 38 38 59 59 59 F F F 3 060-079 39 39 39 62 62 62 F F F 4 080-099 46 45 46 70 68 70 F F F <--- 5 100-119 45 45 45 68 68 68 T F T <--- 6 120-139 30 30 30 44 44 44 F F F 7 140-159 44 44 44 67 67 67 F F F 8 160-179 44 44 44 67 67 67 F F F 9 180-199 43 43 43 66 66 66 F F F 10 200-219 43 43 43 66 66 66 F F F 11 220-239 46 43 46 70 66 70 T F T <--- 12 240-259 46 40 46 69 63 69 F F F <--- 13 260-279 37 37 37 57 57 57 F F F 14 280-299 46 45 46 70 68 70 F F F <--- 15 300-319 38 38 38 58 58 58 F F F 16 320-339 46 45 46 70 68 70 T F T <--- 17 340-359 46 45 46 70 68 70 F F F <--- 18 360-379 44 44 44 67 67 67 F F F 19 380-399 44 44 44 67 67 67 F F F 20 400-419 44 44 44 67 67 67 T F T <--- 21 420-439 46 43 46 69 66 69 T F T <--- 22 440-459 31 31 31 46 46 46 F F F 23 460-479 46 42 46 70 64 70 F T F <--- 24 480-499 46 43 46 69 66 69 F T F <--- 25 500-519 44 44 44 67 67 67 T F T <--- 26 520-539 40 40 40 63 63 63 F F F 27 540-559 43 43 43 66 66 66 F F F 28 560-579 46 44 46 69 67 69 F T F <--- 29 580-599 44 44 44 67 67 67 F F F Max gen: 46, Max flush: 70 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 23 Verifying data now No change after verify Loop: 23 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 40 40 40 63 63 63 F F F 1 020-039 39 39 39 62 62 62 F F F 2 040-059 38 38 38 59 59 59 F F F 3 060-079 39 39 39 62 62 62 F F F 4 080-099 46 46 46 70 70 70 F F F 5 100-119 47 47 47 71 71 71 F F F 6 120-139 30 30 30 44 44 44 F F F 7 140-159 44 44 44 67 67 67 F F F 8 160-179 44 44 44 67 67 67 F F F 9 180-199 43 43 43 66 66 66 F F F 10 200-219 43 43 43 66 66 66 F F F 11 220-239 47 47 47 71 71 71 F F F 12 240-259 46 46 46 69 69 69 F F F 13 260-279 37 37 37 57 57 57 F F F 14 280-299 46 46 46 70 70 70 F F F 15 300-319 38 38 38 58 58 58 F F F 16 320-339 47 47 47 71 71 71 F F F 17 340-359 46 46 46 70 70 70 F F F 18 360-379 44 44 44 67 67 67 F F F 19 380-399 44 44 44 67 67 67 F F F 20 400-419 47 47 47 71 71 71 F F F 21 420-439 47 47 47 71 71 71 F F F 22 440-459 31 31 31 46 46 46 F F F 23 460-479 46 46 46 70 70 70 F F F 24 480-499 46 46 46 69 69 69 F F F 25 500-519 47 47 47 71 71 71 F F F 26 520-539 40 40 40 63 63 63 F F F 27 540-559 43 43 43 66 66 66 F F F 28 560-579 46 46 46 69 69 69 F F F 29 580-599 44 44 44 67 67 67 F F F Max gen: 47, Max flush: 71 Begin loop 24 Downstairs to restart: 1 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.456786196Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.464873859Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.465216665Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.465270088Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.465313862Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.465336719Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328} {"msg":"Crucible 6ff33780-c979-4c26-8344-c68e74031876 has session id: 4fc8b11f-c2b2-44a2-98af-bbd572c5adf8","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.46556451Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"Upstairs opts: Upstairs UUID: 6ff33780-c979-4c26-8344-c68e74031876, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.465629222Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"Crucible stats registered with UUID: 6ff33780-c979-4c26-8344-c68e74031876","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.46564045Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:43:44.465650219Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.465830026Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"":"io task","client":"2","":"downstairs","session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.465847374Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"":"io task","client":"0","":"downstairs","session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.465857542Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"":"io task","client":"1","":"downstairs","session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.466012643Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"task":"crutest"} {"msg":"The guest has requested activation with gen:48","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.466036879Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328} {"msg":"6ff33780-c979-4c26-8344-c68e74031876 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.466073285Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.466082824Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"client":"0","":"downstairs","session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.466092712Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"client":"1","":"downstairs","session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.466102481Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"client":"2","":"downstairs","session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.466116329Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"":"io task","client":"2","":"downstairs","session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.466126618Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"":"io task","client":"1","":"downstairs","session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.466150965Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"":"io task","client":"0","":"downstairs","session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"ds_connection connected from Ok(127.0.0.1:36304)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.46619206Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"":"io task","client":"0","":"downstairs","session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"ds_connection connected from Ok(127.0.0.1:37544)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.466203038Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"":"io task","client":"1","":"downstairs","session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"ds_connection connected from Ok(127.0.0.1:53073)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.466290357Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"":"io task","client":"2","":"downstairs","session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.466858264Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"client":"1","":"downstairs","session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.466876672Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"client":"2","":"downstairs","session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.466923356Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"client":"0","":"downstairs","session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.46719943Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.467209499Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"[0]R flush_numbers[0..12]: [63, 62, 59, 62, 70, 71, 44, 67, 67, 66, 66, 71]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.467249694Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"":"downstairs","":"downstairs","session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"[0]R generation[0..12]: [40, 39, 38, 39, 46, 47, 30, 44, 44, 43, 43, 47]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.467260932Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"":"downstairs","":"downstairs","session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.467272121Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"":"downstairs","":"downstairs","session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"[1]R flush_numbers[0..12]: [63, 62, 59, 62, 70, 71, 44, 67, 67, 66, 66, 71]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.46728269Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"":"downstairs","":"downstairs","session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"[1]R generation[0..12]: [40, 39, 38, 39, 46, 47, 30, 44, 44, 43, 43, 47]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.467293308Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"":"downstairs","":"downstairs","session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.467304527Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"":"downstairs","":"downstairs","session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"[2]R flush_numbers[0..12]: [63, 62, 59, 62, 70, 71, 44, 67, 67, 66, 66, 71]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.467315045Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"":"downstairs","":"downstairs","session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"[2]R generation[0..12]: [40, 39, 38, 39, 46, 47, 30, 44, 44, 43, 43, 47]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.467325544Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"":"downstairs","":"downstairs","session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.467336643Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"":"downstairs","":"downstairs","session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"Max found gen is 48","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.467346231Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"":"downstairs","":"downstairs","session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"Generation requested: 48 >= found:48","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.46735622Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"":"downstairs","":"downstairs","session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"Next flush: 72","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.467367229Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"":"downstairs","":"downstairs","session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.467376948Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"":"downstairs","":"downstairs","session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.467387026Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.467395975Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"client":"0","":"downstairs","session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.467405814Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"client":"1","":"downstairs","session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.467415623Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"client":"2","":"downstairs","session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.467425671Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.4674351Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"6ff33780-c979-4c26-8344-c68e74031876 is now active with session: 4fc8b11f-c2b2-44a2-98af-bbd572c5adf8","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.467445519Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.467454578Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"session_id":"4fc8b11f-c2b2-44a2-98af-bbd572c5adf8"} {"msg":"The guest has finished waiting for activation with:48","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.467463906Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328} {"msg":"Activated sub_volume 6ff33780-c979-4c26-8344-c68e74031876","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.467472165Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.467480524Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.467787535Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"task":"crutest"} 01/30 Write block 421 len 28672 data: 8 6 8 8 5 5 5 02/30 Write block 391 len 36864 data: 6 5 5 5 5 5 5 3 5 03/30 Read block 407 len 36864 04/30 Flush 05/30 Write block 549 len 4096 data: 6 06/30 Write block 317 len 40960 data: 4 5 4 5 5 6 8 9 10 8 07/30 Write block 576 len 4096 data: 10 08/30 Read block 310 len 24576 09/30 Write block 176 len 12288 data: 5 6 5 10/30 Write block 276 len 40960 data: 5 4 4 4 5 5 5 5 6 7 11/30 Flush 12/30 Write block 426 len 28672 data: 6 6 5 5 6 4 4 13/30 Write block 10 len 40960 data: 5 4 4 4 3 3 2 2 4 5 14/30 Write block 54 len 36864 data: 2 2 5 5 6 5 5 6 6 15/30 Read block 33 len 40960 16/30 Read block 187 len 16384 17/30 Read block 27 len 8192 18/30 Write block 11 len 20480 data: 5 5 5 4 4 19/30 Read block 390 len 24576 20/30 Read block 396 len 32768 21/30 Write block 476 len 8192 data: 6 7 22/30 Read block 6 len 16384 23/30 Write block 271 len 16384 data: 6 6 5 4 24/30 Write block 346 len 24576 data: 5 5 4 5 5 4 25/30 Read block 379 len 20480 26/30 Write block 465 len 12288 data: 3 4 4 27/30 Write block 312 len 8192 data: 3 4 28/30 Read block 49 len 8192 29/30 Read block 110 len 40960 30/30 Read block 506 len 16384 ---------------------------------------------------------------- Crucible gen:48 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 7 Done Done Done false 1001 Acked Write 9 Done Sent Done false 1002 Acked Read 9 Done Sent Done false 1003 Acked Flush 0 Done Sent Done false 1004 Acked Write 1 Done Sent Done false 1005 Acked Write 10 Done Sent Done false 1006 Acked Write 1 Done Sent Done false 1007 Acked Read 6 Done Sent Done false 1008 Acked Write 3 Done Sent Done false 1009 Acked Write 10 Done Sent Done false 1010 Acked Flush 0 Done Sent Done false 1011 Acked Write 7 Done Sent Done false 1012 Acked Write 10 Done Sent Done false 1013 Acked Write 9 Done Sent Done false 1014 Acked Read 10 Done Sent Done false 1015 Acked Read 4 Done Sent Done false 1016 Acked Read 2 Done Sent Done false 1017 Acked Write 5 Done Sent Done false 1018 Acked Read 6 Done Sent Done false 1019 Acked Read 8 Done Sent Done false 1020 Acked Write 2 Done Sent Done false 1021 Acked Read 4 Done Sent Done false 1022 Acked Write 4 Done Sent Done false 1023 Acked Write 6 Done Sent Done false 1024 Acked Read 5 Done Sent Done false 1025 Acked Write 3 Done Sent Done false 1026 Acked Write 2 Done Sent Done false 1027 Acked Read 2 Done Sent Done false 1028 Acked Read 10 Done Sent Done false 1029 Acked Read 4 Done Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 0 29 1 30 Done 30 1 29 60 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1010)) None Some(JobId(1010)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:43:44.475681033Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:44.475964206Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1328,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 40 40 40 63 63 63 T F T <--- 1 020-039 39 39 39 62 62 62 F F F 2 040-059 38 38 38 59 59 59 T F T <--- 3 060-079 39 39 39 62 62 62 T F T <--- 4 080-099 46 46 46 70 70 70 F F F 5 100-119 47 47 47 71 71 71 F F F 6 120-139 30 30 30 44 44 44 F F F 7 140-159 44 44 44 67 67 67 F F F 8 160-179 48 44 48 73 67 73 F F F <--- 9 180-199 43 43 43 66 66 66 F F F 10 200-219 43 43 43 66 66 66 F F F 11 220-239 47 47 47 71 71 71 F F F 12 240-259 46 46 46 69 69 69 F F F 13 260-279 48 37 48 73 57 73 T F T <--- 14 280-299 48 46 48 73 70 73 F F F <--- 15 300-319 48 38 48 73 58 73 T F T <--- 16 320-339 48 47 48 73 71 73 F F F <--- 17 340-359 46 46 46 70 70 70 T F T <--- 18 360-379 44 44 44 67 67 67 F F F 19 380-399 48 44 48 72 67 72 F F F <--- 20 400-419 47 47 47 71 71 71 F F F 21 420-439 48 47 48 72 71 72 T T T <--- 22 440-459 31 31 31 46 46 46 F F F 23 460-479 46 46 46 70 70 70 T F T <--- 24 480-499 46 46 46 69 69 69 F F F 25 500-519 47 47 47 71 71 71 F F F 26 520-539 40 40 40 63 63 63 F F F 27 540-559 48 43 48 73 66 73 F F F <--- 28 560-579 48 46 48 73 69 73 F F F <--- 29 580-599 44 44 44 67 67 67 F F F Max gen: 48, Max flush: 73 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 24 Verifying data now No change after verify Loop: 24 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 49 49 49 74 74 74 F F F 1 020-039 39 39 39 62 62 62 F F F 2 040-059 49 49 49 74 74 74 F F F 3 060-079 49 49 49 74 74 74 F F F 4 080-099 46 46 46 70 70 70 F F F 5 100-119 47 47 47 71 71 71 F F F 6 120-139 30 30 30 44 44 44 F F F 7 140-159 44 44 44 67 67 67 F F F 8 160-179 48 48 48 73 73 73 F F F 9 180-199 43 43 43 66 66 66 F F F 10 200-219 43 43 43 66 66 66 F F F 11 220-239 47 47 47 71 71 71 F F F 12 240-259 46 46 46 69 69 69 F F F 13 260-279 49 49 49 74 74 74 F F F 14 280-299 48 48 48 73 73 73 F F F 15 300-319 49 49 49 74 74 74 F F F 16 320-339 48 48 48 73 73 73 F F F 17 340-359 49 49 49 74 74 74 F F F 18 360-379 44 44 44 67 67 67 F F F 19 380-399 48 48 48 72 72 72 F F F 20 400-419 47 47 47 71 71 71 F F F 21 420-439 49 49 49 74 74 74 F F F 22 440-459 31 31 31 46 46 46 F F F 23 460-479 49 49 49 74 74 74 F F F 24 480-499 46 46 46 69 69 69 F F F 25 500-519 47 47 47 71 71 71 F F F 26 520-539 40 40 40 63 63 63 F F F 27 540-559 48 48 48 73 73 73 F F F 28 560-579 48 48 48 73 73 73 F F F 29 580-599 44 44 44 67 67 67 F F F Max gen: 49, Max flush: 74 Begin loop 25 Downstairs to restart: 1 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.716343748Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.724476755Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.724784555Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.724813931Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.72482273Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.724834639Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336} {"msg":"Crucible 6f07d52d-78c2-4c85-90ec-cfb1aa181de0 has session id: be2d47a5-7a0b-4610-a155-53e20b40f1f3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.725196222Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"Upstairs opts: Upstairs UUID: 6f07d52d-78c2-4c85-90ec-cfb1aa181de0, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.725221499Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"Crucible stats registered with UUID: 6f07d52d-78c2-4c85-90ec-cfb1aa181de0","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.725231658Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:43:48.725243256Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.725409875Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"":"io task","client":"1","":"downstairs","session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.725439471Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"":"io task","client":"2","":"downstairs","session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.7254504Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"":"io task","client":"0","":"downstairs","session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.725575764Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"task":"crutest"} {"msg":"The guest has requested activation with gen:50","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.72560486Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336} {"msg":"6f07d52d-78c2-4c85-90ec-cfb1aa181de0 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.725621478Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.725630697Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"client":"0","":"downstairs","session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.725640725Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"client":"1","":"downstairs","session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.725650624Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"client":"2","":"downstairs","session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.725660393Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"":"io task","client":"2","":"downstairs","session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.725670482Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"":"io task","client":"0","":"downstairs","session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.72568068Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"":"io task","client":"1","":"downstairs","session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"ds_connection connected from Ok(127.0.0.1:51529)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.725728254Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"":"io task","client":"0","":"downstairs","session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"ds_connection connected from Ok(127.0.0.1:46305)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.725754331Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"":"io task","client":"1","":"downstairs","session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"ds_connection connected from Ok(127.0.0.1:64279)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.725765829Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"":"io task","client":"2","":"downstairs","session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.726379191Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"client":"2","":"downstairs","session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.726398528Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"client":"1","":"downstairs","session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.726409657Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"client":"0","":"downstairs","session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.7266956Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.726710268Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"[0]R flush_numbers[0..12]: [74, 62, 74, 74, 70, 71, 44, 67, 73, 66, 66, 71]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.726739604Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"":"downstairs","":"downstairs","session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"[0]R generation[0..12]: [49, 39, 49, 49, 46, 47, 30, 44, 48, 43, 43, 47]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.726751093Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"":"downstairs","":"downstairs","session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.726762202Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"":"downstairs","":"downstairs","session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"[1]R flush_numbers[0..12]: [74, 62, 74, 74, 70, 71, 44, 67, 73, 66, 66, 71]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.72677282Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"":"downstairs","":"downstairs","session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"[1]R generation[0..12]: [49, 39, 49, 49, 46, 47, 30, 44, 48, 43, 43, 47]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.726783489Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"":"downstairs","":"downstairs","session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.726794457Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"":"downstairs","":"downstairs","session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"[2]R flush_numbers[0..12]: [74, 62, 74, 74, 70, 71, 44, 67, 73, 66, 66, 71]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.726804956Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"":"downstairs","":"downstairs","session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"[2]R generation[0..12]: [49, 39, 49, 49, 46, 47, 30, 44, 48, 43, 43, 47]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.726815545Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"":"downstairs","":"downstairs","session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.726826623Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"":"downstairs","":"downstairs","session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"Max found gen is 50","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.726838992Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"":"downstairs","":"downstairs","session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"Generation requested: 50 >= found:50","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.72684906Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"":"downstairs","":"downstairs","session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"Next flush: 75","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.726858579Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"":"downstairs","":"downstairs","session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.726868268Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"":"downstairs","":"downstairs","session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.726878517Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.726887625Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"client":"0","":"downstairs","session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.726897954Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"client":"1","":"downstairs","session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.726907873Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"client":"2","":"downstairs","session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.726918062Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.72692751Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"6f07d52d-78c2-4c85-90ec-cfb1aa181de0 is now active with session: be2d47a5-7a0b-4610-a155-53e20b40f1f3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.726937619Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.726946508Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"session_id":"be2d47a5-7a0b-4610-a155-53e20b40f1f3"} {"msg":"The guest has finished waiting for activation with:50","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.726955727Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336} {"msg":"Activated sub_volume 6f07d52d-78c2-4c85-90ec-cfb1aa181de0","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.726963886Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.726972105Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.727273246Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"task":"crutest"} 01/30 Write block 320 len 20480 data: 6 6 7 9 10 02/30 Read block 537 len 20480 03/30 Write block 195 len 36864 data: 6 6 6 5 5 4 4 4 6 04/30 Write block 129 len 20480 data: 3 4 4 4 4 05/30 Read block 527 len 24576 06/30 Read block 6 len 32768 07/30 Read block 147 len 4096 08/30 Read block 30 len 40960 09/30 Read block 541 len 4096 10/30 Read block 393 len 12288 11/30 Write block 107 len 36864 data: 6 6 5 6 6 6 4 4 4 12/30 Flush 13/30 Write block 547 len 12288 data: 7 6 7 14/30 Write block 570 len 36864 data: 4 5 8 9 8 8 11 8 7 15/30 Write block 26 len 12288 data: 3 4 6 16/30 Read block 518 len 4096 17/30 Write block 397 len 16384 data: 6 4 6 7 18/30 Read block 305 len 12288 19/30 Flush 20/30 Write block 34 len 4096 data: 7 21/30 Read block 546 len 16384 22/30 Read block 561 len 32768 23/30 Write block 416 len 16384 data: 3 3 5 7 24/30 Read block 29 len 4096 25/30 Read block 514 len 24576 26/30 Read block 282 len 16384 27/30 Write block 225 len 24576 data: 8 7 5 5 5 5 28/30 Read block 403 len 36864 29/30 Read block 3 len 28672 30/30 Read block 186 len 28672 ---------------------------------------------------------------- Crucible gen:50 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 5 Done Sent Done false 1001 Acked Read 5 Done Sent Done false 1002 Acked Write 9 Done Sent Done false 1003 Acked Write 5 Done Sent Done false 1004 Acked Read 6 Done Sent Done false 1005 Acked Read 8 Done Sent Done false 1006 Acked Read 1 Done Sent Done false 1007 Acked Read 10 Done Sent Done false 1008 Acked Read 1 Done Sent Done false 1009 Acked Read 3 Done Sent Done false 1010 Acked Write 9 Done Sent Done false 1011 Acked Flush 0 Done Sent Done false 1012 Acked Write 3 Done Sent Done false 1013 Acked Write 9 Done Sent Done false 1014 Acked Write 3 Done Sent Done false 1015 Acked Read 1 Done Sent Done false 1016 Acked Write 4 Done Sent Done false 1017 Acked Read 3 Done Sent Done false 1018 Acked Flush 0 Done Sent Done false 1019 Acked Write 1 Done Sent Done false 1020 Acked Read 4 Done Sent Done false 1021 Acked Read 8 Done Sent Done false 1022 Acked Write 4 Done Sent Done false 1023 Acked Read 1 Done Sent Done false 1024 Acked Read 6 Done Sent Done false 1025 Acked Read 4 Done Sent Done false 1026 Acked Write 6 Done Sent Done false 1027 Acked Read 9 Done Sent Done false 1028 Acked Read 7 Done Sent Done false 1029 Acked Read 7 Done Sent Done false STATES DS:0 DS:1 DS:2 TOTAL Sent 0 30 0 30 Done 30 0 30 60 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1018)) None Some(JobId(1018)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:43:48.735303276Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:48.73558394Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1336,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 49 49 49 74 74 74 F F F 1 020-039 50 39 50 76 62 76 T F T <--- 2 040-059 49 49 49 74 74 74 F F F 3 060-079 49 49 49 74 74 74 F F F 4 080-099 46 46 46 70 70 70 F F F 5 100-119 50 47 50 75 71 75 F F F <--- 6 120-139 50 30 50 75 44 75 F F F <--- 7 140-159 44 44 44 67 67 67 F F F 8 160-179 48 48 48 73 73 73 F F F 9 180-199 50 43 50 75 66 75 F F F <--- 10 200-219 50 43 50 75 66 75 F F F <--- 11 220-239 47 47 47 71 71 71 T F T <--- 12 240-259 46 46 46 69 69 69 F F F 13 260-279 49 49 49 74 74 74 F F F 14 280-299 48 48 48 73 73 73 F F F 15 300-319 49 49 49 74 74 74 F F F 16 320-339 50 48 50 75 73 75 F F F <--- 17 340-359 49 49 49 74 74 74 F F F 18 360-379 44 44 44 67 67 67 F F F 19 380-399 50 48 50 76 72 76 F F F <--- 20 400-419 50 47 50 76 71 76 T F T <--- 21 420-439 49 49 49 74 74 74 F F F 22 440-459 31 31 31 46 46 46 F F F 23 460-479 49 49 49 74 74 74 F F F 24 480-499 46 46 46 69 69 69 F F F 25 500-519 47 47 47 71 71 71 F F F 26 520-539 40 40 40 63 63 63 F F F 27 540-559 50 48 50 76 73 76 F F F <--- 28 560-579 50 48 50 76 73 76 F F F <--- 29 580-599 44 44 44 67 67 67 F F F Max gen: 50, Max flush: 76 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 25 Verifying data now No change after verify Loop: 25 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 49 49 49 74 74 74 F F F 1 020-039 51 51 51 77 77 77 F F F 2 040-059 49 49 49 74 74 74 F F F 3 060-079 49 49 49 74 74 74 F F F 4 080-099 46 46 46 70 70 70 F F F 5 100-119 50 50 50 75 75 75 F F F 6 120-139 50 50 50 75 75 75 F F F 7 140-159 44 44 44 67 67 67 F F F 8 160-179 48 48 48 73 73 73 F F F 9 180-199 50 50 50 75 75 75 F F F 10 200-219 50 50 50 75 75 75 F F F 11 220-239 51 51 51 77 77 77 F F F 12 240-259 46 46 46 69 69 69 F F F 13 260-279 49 49 49 74 74 74 F F F 14 280-299 48 48 48 73 73 73 F F F 15 300-319 49 49 49 74 74 74 F F F 16 320-339 50 50 50 75 75 75 F F F 17 340-359 49 49 49 74 74 74 F F F 18 360-379 44 44 44 67 67 67 F F F 19 380-399 50 50 50 76 76 76 F F F 20 400-419 51 51 51 77 77 77 F F F 21 420-439 49 49 49 74 74 74 F F F 22 440-459 31 31 31 46 46 46 F F F 23 460-479 49 49 49 74 74 74 F F F 24 480-499 46 46 46 69 69 69 F F F 25 500-519 47 47 47 71 71 71 F F F 26 520-539 40 40 40 63 63 63 F F F 27 540-559 50 50 50 76 76 76 F F F 28 560-579 50 50 50 76 76 76 F F F 29 580-599 44 44 44 67 67 67 F F F Max gen: 51, Max flush: 77 Begin loop 26 Downstairs to restart: 2 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.971601161Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.979665677Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.979975717Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.980006003Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.980014932Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.98002654Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344} {"msg":"Crucible 2fb0e725-fa73-4484-9473-e213b16014f9 has session id: 4fae7a81-2439-482a-8f43-aad4e898321c","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.980385314Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"Upstairs opts: Upstairs UUID: 2fb0e725-fa73-4484-9473-e213b16014f9, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.980414221Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"Crucible stats registered with UUID: 2fb0e725-fa73-4484-9473-e213b16014f9","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.980427219Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:43:52.980436738Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.980580159Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"":"io task","client":"0","":"downstairs","session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.980595797Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"":"io task","client":"1","":"downstairs","session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.980606076Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"":"io task","client":"2","":"downstairs","session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.980747398Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"task":"crutest"} {"msg":"The guest has requested activation with gen:52","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.980764476Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344} {"msg":"2fb0e725-fa73-4484-9473-e213b16014f9 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.980780774Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.980789923Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"client":"0","":"downstairs","session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.980799821Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"client":"1","":"downstairs","session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.98080961Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"client":"2","":"downstairs","session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.980819769Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"":"io task","client":"2","":"downstairs","session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.980830147Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"":"io task","client":"0","":"downstairs","session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.980840316Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"":"io task","client":"1","":"downstairs","session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"ds_connection connected from Ok(127.0.0.1:38338)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.980919996Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"":"io task","client":"0","":"downstairs","session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"ds_connection connected from Ok(127.0.0.1:45253)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.980955021Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"":"io task","client":"1","":"downstairs","session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"ds_connection connected from Ok(127.0.0.1:34230)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.981014084Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"":"io task","client":"2","":"downstairs","session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.981573602Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"client":"1","":"downstairs","session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.981617646Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"client":"0","":"downstairs","session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.98174777Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"client":"2","":"downstairs","session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.981869934Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.981916628Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"[0]R flush_numbers[0..12]: [74, 77, 74, 74, 70, 75, 75, 67, 73, 75, 75, 77]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.982012026Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"":"downstairs","":"downstairs","session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"[0]R generation[0..12]: [49, 51, 49, 49, 46, 50, 50, 44, 48, 50, 50, 51]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.982023374Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"":"downstairs","":"downstairs","session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.982034603Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"":"downstairs","":"downstairs","session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"[1]R flush_numbers[0..12]: [74, 77, 74, 74, 70, 75, 75, 67, 73, 75, 75, 77]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.982045252Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"":"downstairs","":"downstairs","session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"[1]R generation[0..12]: [49, 51, 49, 49, 46, 50, 50, 44, 48, 50, 50, 51]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.98205576Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"":"downstairs","":"downstairs","session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.982066859Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"":"downstairs","":"downstairs","session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"[2]R flush_numbers[0..12]: [74, 77, 74, 74, 70, 75, 75, 67, 73, 75, 75, 77]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.982077447Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"":"downstairs","":"downstairs","session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"[2]R generation[0..12]: [49, 51, 49, 49, 46, 50, 50, 44, 48, 50, 50, 51]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.982087886Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"":"downstairs","":"downstairs","session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.982100554Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"":"downstairs","":"downstairs","session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"Max found gen is 52","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.982110253Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"":"downstairs","":"downstairs","session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"Generation requested: 52 >= found:52","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.982120142Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"":"downstairs","":"downstairs","session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"Next flush: 78","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.982129701Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"":"downstairs","":"downstairs","session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.982139289Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"":"downstairs","":"downstairs","session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.982149148Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.982158267Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"client":"0","":"downstairs","session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.982168176Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"client":"1","":"downstairs","session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.982178124Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"client":"2","":"downstairs","session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.982188293Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.982197782Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"2fb0e725-fa73-4484-9473-e213b16014f9 is now active with session: 4fae7a81-2439-482a-8f43-aad4e898321c","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.982207901Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.98221682Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"session_id":"4fae7a81-2439-482a-8f43-aad4e898321c"} {"msg":"The guest has finished waiting for activation with:52","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.982226478Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344} {"msg":"Activated sub_volume 2fb0e725-fa73-4484-9473-e213b16014f9","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.982234937Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.982243376Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.982594081Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"task":"crutest"} 01/30 Write block 54 len 16384 data: 3 3 6 6 02/30 Read block 479 len 4096 03/30 Write block 129 len 24576 data: 4 5 5 5 5 3 04/30 Read block 417 len 36864 05/30 Write block 285 len 40960 data: 8 8 8 8 7 5 4 6 6 7 06/30 Write block 520 len 24576 data: 2 2 3 4 5 7 07/30 Read block 419 len 12288 08/30 Write block 326 len 8192 data: 9 6 09/30 Read block 570 len 28672 10/30 Read block 46 len 40960 11/30 Read block 286 len 36864 12/30 Read block 570 len 36864 13/30 Read block 309 len 4096 14/30 Read block 291 len 24576 15/30 Read block 446 len 12288 16/30 Read block 259 len 24576 17/30 Read block 474 len 8192 18/30 Read block 9 len 4096 19/30 Write block 402 len 28672 data: 6 6 6 4 4 5 6 20/30 Read block 187 len 16384 21/30 Write block 473 len 8192 data: 5 5 22/30 Read block 227 len 12288 23/30 Read block 4 len 24576 24/30 Write block 60 len 40960 data: 6 7 7 6 5 6 6 3 3 4 25/30 Read block 264 len 40960 26/30 Write block 216 len 28672 data: 5 6 5 5 5 7 8 27/30 Read block 189 len 12288 28/30 Write block 520 len 20480 data: 3 3 4 5 6 29/30 Read block 388 len 36864 30/30 Write block 267 len 12288 data: 4 4 4 ---------------------------------------------------------------- Crucible gen:52 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 4 Done Done Done false 1001 Acked Read 1 Done Done Done false 1002 Acked Write 6 Done Done Done false 1003 Acked Read 9 Done Done Done false 1004 Acked Write 10 Done Done Done false 1005 Acked Write 6 Done Done Done false 1006 Acked Read 3 Done Done Done false 1007 Acked Write 2 Done Done Done false 1008 Acked Read 7 Done Done Sent false 1009 Acked Read 10 Done Done Sent false 1010 Acked Read 9 Done Done Sent false 1011 Acked Read 9 Done Done Sent false 1012 Acked Read 1 Done Done Sent false 1013 Acked Read 6 Done Done Sent false 1014 Acked Read 3 Done Done Sent false 1015 Acked Read 6 Done Done Sent false 1016 Acked Read 2 Done Done Sent false 1017 Acked Read 1 Done Done Sent false 1018 Acked Write 7 Done Done Sent false 1019 Acked Read 4 Done Done Sent false 1020 Acked Write 2 Done Done Sent false 1021 Acked Read 3 Done Done Sent false 1022 Acked Read 6 Done Done Sent false 1023 Acked Write 10 Done Done Sent false 1024 Acked Read 10 Done Done Sent false 1025 Acked Write 7 Done Done Sent false 1026 Acked Read 3 Done Done Sent false 1027 Acked Write 5 Done Done Sent false 1028 Acked Read 9 Done Done Sent false 1029 Acked Write 3 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 1 1 22 24 Done 29 29 8 66 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: None None None Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:43:52.990661927Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:52.99094515Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1344,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 49 49 49 74 74 74 F F F 1 020-039 51 51 51 77 77 77 F F F 2 040-059 49 49 49 74 74 74 T T T 3 060-079 49 49 49 74 74 74 T T F <--- 4 080-099 46 46 46 70 70 70 F F F 5 100-119 50 50 50 75 75 75 F F F 6 120-139 50 50 50 75 75 75 T T T 7 140-159 44 44 44 67 67 67 F F F 8 160-179 48 48 48 73 73 73 F F F 9 180-199 50 50 50 75 75 75 F F F 10 200-219 50 50 50 75 75 75 T T F <--- 11 220-239 51 51 51 77 77 77 T T F <--- 12 240-259 46 46 46 69 69 69 F F F 13 260-279 49 49 49 74 74 74 T T F <--- 14 280-299 48 48 48 73 73 73 T T T 15 300-319 49 49 49 74 74 74 F F F 16 320-339 50 50 50 75 75 75 T T T 17 340-359 49 49 49 74 74 74 F F F 18 360-379 44 44 44 67 67 67 F F F 19 380-399 50 50 50 76 76 76 F F F 20 400-419 51 51 51 77 77 77 T T F <--- 21 420-439 49 49 49 74 74 74 F F F 22 440-459 31 31 31 46 46 46 F F F 23 460-479 49 49 49 74 74 74 T T F <--- 24 480-499 46 46 46 69 69 69 F F F 25 500-519 47 47 47 71 71 71 F F F 26 520-539 40 40 40 63 63 63 T T T 27 540-559 50 50 50 76 76 76 F F F 28 560-579 50 50 50 76 76 76 F F F 29 580-599 44 44 44 67 67 67 F F F Max gen: 51, Max flush: 77 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 26 Verifying data now No change after verify Loop: 26 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 49 49 49 74 74 74 F F F 1 020-039 51 51 51 77 77 77 F F F 2 040-059 52 52 52 78 78 78 F F F 3 060-079 52 52 52 78 78 78 F F F 4 080-099 46 46 46 70 70 70 F F F 5 100-119 50 50 50 75 75 75 F F F 6 120-139 52 52 52 78 78 78 F F F 7 140-159 44 44 44 67 67 67 F F F 8 160-179 48 48 48 73 73 73 F F F 9 180-199 50 50 50 75 75 75 F F F 10 200-219 52 52 52 78 78 78 F F F 11 220-239 52 52 52 78 78 78 F F F 12 240-259 46 46 46 69 69 69 F F F 13 260-279 52 52 52 78 78 78 F F F 14 280-299 52 52 52 78 78 78 F F F 15 300-319 49 49 49 74 74 74 F F F 16 320-339 52 52 52 78 78 78 F F F 17 340-359 49 49 49 74 74 74 F F F 18 360-379 44 44 44 67 67 67 F F F 19 380-399 50 50 50 76 76 76 F F F 20 400-419 52 52 52 78 78 78 F F F 21 420-439 49 49 49 74 74 74 F F F 22 440-459 31 31 31 46 46 46 F F F 23 460-479 52 52 52 78 78 78 F F F 24 480-499 46 46 46 69 69 69 F F F 25 500-519 47 47 47 71 71 71 F F F 26 520-539 52 52 52 78 78 78 F F F 27 540-559 50 50 50 76 76 76 F F F 28 560-579 50 50 50 76 76 76 F F F 29 580-599 44 44 44 67 67 67 F F F Max gen: 52, Max flush: 78 Begin loop 27 Downstairs to restart: 0 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.227427991Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"task":"crutest"} {"msg":"Failed to get info from \"http://127.0.0.1:12810\" Communication Error: error sending request for url (http://127.0.0.1:12810/region-info)","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:43:57.234693049Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"task":"crutest"} {"msg":"look at: http://127.0.0.1:12820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.234777749Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008820, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.241995353Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.242277327Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.242306313Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.242315012Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.242326671Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352} {"msg":"Crucible 1a30d290-82c4-4266-9331-35fac64df980 has session id: de497f13-299a-41b0-a7c6-4b8fdb71f96d","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.242636441Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"Upstairs opts: Upstairs UUID: 1a30d290-82c4-4266-9331-35fac64df980, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.242665027Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"Crucible stats registered with UUID: 1a30d290-82c4-4266-9331-35fac64df980","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.242675776Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:43:57.242685195Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.242850333Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"":"io task","client":"2","":"downstairs","session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.242867551Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"":"io task","client":"1","":"downstairs","session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.2428778Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"":"io task","client":"0","":"downstairs","session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.243012553Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"task":"crutest"} {"msg":"The guest has requested activation with gen:54","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.243048638Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352} {"msg":"1a30d290-82c4-4266-9331-35fac64df980 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.243057517Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.243066676Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"client":"0","":"downstairs","session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.243076514Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"client":"1","":"downstairs","session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.243086343Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"client":"2","":"downstairs","session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.243096192Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"":"io task","client":"2","":"downstairs","session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.243106381Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"":"io task","client":"0","":"downstairs","session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.243118869Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"":"io task","client":"1","":"downstairs","session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"ds_connection connected from Ok(127.0.0.1:36441)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.243164603Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"":"io task","client":"0","":"downstairs","session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"ds_connection connected from Ok(127.0.0.1:41936)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.243202898Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"":"io task","client":"2","":"downstairs","session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"ds_connection connected from Ok(127.0.0.1:36963)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.243292227Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"":"io task","client":"1","":"downstairs","session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.243897539Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"client":"1","":"downstairs","session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.243915517Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"client":"0","":"downstairs","session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.24396514Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"client":"2","":"downstairs","session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.244230956Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.244241775Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"[0]R flush_numbers[0..12]: [74, 77, 78, 78, 70, 75, 78, 67, 73, 75, 78, 78]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.244266772Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"":"downstairs","":"downstairs","session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"[0]R generation[0..12]: [49, 51, 52, 52, 46, 50, 52, 44, 48, 50, 52, 52]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.24427801Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"":"downstairs","":"downstairs","session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.244289239Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"":"downstairs","":"downstairs","session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"[1]R flush_numbers[0..12]: [74, 77, 78, 78, 70, 75, 78, 67, 73, 75, 78, 78]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.244299808Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"":"downstairs","":"downstairs","session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"[1]R generation[0..12]: [49, 51, 52, 52, 46, 50, 52, 44, 48, 50, 52, 52]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.244310426Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"":"downstairs","":"downstairs","session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.244323365Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"":"downstairs","":"downstairs","session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"[2]R flush_numbers[0..12]: [74, 77, 78, 78, 70, 75, 78, 67, 73, 75, 78, 78]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.244334033Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"":"downstairs","":"downstairs","session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"[2]R generation[0..12]: [49, 51, 52, 52, 46, 50, 52, 44, 48, 50, 52, 52]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.244344532Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"":"downstairs","":"downstairs","session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.24435573Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"":"downstairs","":"downstairs","session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"Max found gen is 53","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.244365449Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"":"downstairs","":"downstairs","session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"Generation requested: 54 >= found:53","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.244375278Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"":"downstairs","":"downstairs","session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"Next flush: 79","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.244384757Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"":"downstairs","":"downstairs","session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.244394255Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"":"downstairs","":"downstairs","session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.244404224Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.244413163Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"client":"0","":"downstairs","session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.244423112Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"client":"1","":"downstairs","session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.24443297Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"client":"2","":"downstairs","session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.244442989Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.244452258Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"1a30d290-82c4-4266-9331-35fac64df980 is now active with session: de497f13-299a-41b0-a7c6-4b8fdb71f96d","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.244462177Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.244472335Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"session_id":"de497f13-299a-41b0-a7c6-4b8fdb71f96d"} {"msg":"The guest has finished waiting for activation with:54","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.244481544Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352} {"msg":"Activated sub_volume 1a30d290-82c4-4266-9331-35fac64df980","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.244489833Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.244498122Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.244772687Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"task":"crutest"} 01/30 Write block 549 len 8192 data: 8 7 02/30 Flush 03/30 Write block 576 len 16384 data: 12 9 8 7 04/30 Write block 318 len 24576 data: 6 5 7 7 8 10 05/30 Read block 197 len 8192 06/30 Read block 306 len 12288 07/30 Write block 453 len 24576 data: 4 4 5 5 5 5 08/30 Read block 75 len 12288 09/30 Write block 421 len 16384 data: 9 7 9 9 10/30 Write block 566 len 16384 data: 5 5 5 4 11/30 Write block 461 len 16384 data: 5 6 6 5 12/30 Write block 569 len 32768 data: 5 5 6 9 10 9 9 13 13/30 Write block 468 len 36864 data: 5 5 5 5 5 6 6 5 7 14/30 Read block 90 len 20480 15/30 Write block 576 len 32768 data: 14 10 9 8 7 7 6 6 16/30 Read block 451 len 36864 17/30 Write block 439 len 4096 data: 3 18/30 Write block 112 len 36864 data: 7 5 5 5 3 4 2 2 3 19/30 Write block 423 len 4096 data: 10 20/30 Write block 237 len 24576 data: 6 5 6 6 5 6 21/30 Read block 314 len 8192 22/30 Read block 216 len 24576 23/30 Read block 257 len 32768 24/30 Write block 413 len 28672 data: 4 4 3 4 4 6 8 25/30 Read block 578 len 24576 26/30 Read block 328 len 4096 27/30 Write block 471 len 36864 data: 6 6 7 7 6 8 8 6 7 28/30 Write block 174 len 36864 data: 4 4 6 7 6 4 6 6 7 29/30 Read block 231 len 32768 30/30 Write block 226 len 24576 data: 8 6 6 6 6 5 ---------------------------------------------------------------- Crucible gen:54 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 2 Sent Done Done false 1001 Acked Flush 0 Sent Done Done false 1002 Acked Write 4 Sent Done Done false 1003 Acked Write 6 Sent Done Done false 1004 Acked Read 2 Sent Done Done false 1005 Acked Read 3 Sent Done Done false 1006 Acked Write 6 Sent Done Done false 1007 Acked Read 3 Sent Done Done false 1008 Acked Write 4 Sent Done Done false 1009 Acked Write 4 Sent Done Done false 1010 Acked Write 4 Sent Done Done false 1011 Acked Write 8 Sent Done Done false 1012 Acked Write 9 Sent Done Done false 1013 Acked Read 5 Sent Done Done false 1014 Acked Write 8 Sent Done Done false 1015 Acked Read 9 Sent Done Done false 1016 Acked Write 1 Sent Done Done false 1017 Acked Write 9 Sent Done Done false 1018 Acked Write 1 Sent Done Done false 1019 Acked Write 6 Sent Done Done false 1020 Acked Read 2 Sent Done Done false 1021 Acked Read 6 Sent Done Done false 1022 Acked Read 8 Sent Done Done false 1023 Acked Write 7 Sent Done Done false 1024 Acked Read 6 Sent Done Done false 1025 Acked Read 1 Sent Done Done false 1026 Acked Write 9 Sent Done Done false 1027 Acked Write 9 Sent Done Done false 1028 Acked Read 8 Sent Done Done false 1029 Acked Write 6 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 30 1 1 32 Done 0 29 29 58 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: None Some(JobId(1001)) Some(JobId(1001)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:43:57.251971734Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:43:57.252249448Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1352,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 49 49 49 74 74 74 F F F 1 020-039 51 51 51 77 77 77 F F F 2 040-059 52 52 52 78 78 78 F F F 3 060-079 52 52 52 78 78 78 F F F 4 080-099 46 46 46 70 70 70 F F F 5 100-119 50 50 50 75 75 75 F T T <--- 6 120-139 52 52 52 78 78 78 F T T <--- 7 140-159 44 44 44 67 67 67 F F F 8 160-179 48 48 48 73 73 73 F T T <--- 9 180-199 50 50 50 75 75 75 F T T <--- 10 200-219 52 52 52 78 78 78 F F F 11 220-239 52 52 52 78 78 78 F T T <--- 12 240-259 46 46 46 69 69 69 F T T <--- 13 260-279 52 52 52 78 78 78 F F F 14 280-299 52 52 52 78 78 78 F F F 15 300-319 49 49 49 74 74 74 F T T <--- 16 320-339 52 52 52 78 78 78 F T T <--- 17 340-359 49 49 49 74 74 74 F F F 18 360-379 44 44 44 67 67 67 F F F 19 380-399 50 50 50 76 76 76 F F F 20 400-419 52 52 52 78 78 78 F T T <--- 21 420-439 49 49 49 74 74 74 F T T <--- 22 440-459 31 31 31 46 46 46 F T T <--- 23 460-479 52 52 52 78 78 78 F T T <--- 24 480-499 46 46 46 69 69 69 F F F 25 500-519 47 47 47 71 71 71 F F F 26 520-539 52 52 52 78 78 78 F F F 27 540-559 50 54 54 76 79 79 F F F <--- 28 560-579 50 50 50 76 76 76 F T T <--- 29 580-599 44 44 44 67 67 67 F T T <--- Max gen: 54, Max flush: 79 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 27 Verifying data now No change after verify Loop: 27 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 49 49 49 74 74 74 F F F 1 020-039 51 51 51 77 77 77 F F F 2 040-059 52 52 52 78 78 78 F F F 3 060-079 52 52 52 78 78 78 F F F 4 080-099 46 46 46 70 70 70 F F F 5 100-119 55 55 55 80 80 80 F F F 6 120-139 55 55 55 80 80 80 F F F 7 140-159 44 44 44 67 67 67 F F F 8 160-179 55 55 55 80 80 80 F F F 9 180-199 55 55 55 80 80 80 F F F 10 200-219 52 52 52 78 78 78 F F F 11 220-239 55 55 55 80 80 80 F F F 12 240-259 55 55 55 80 80 80 F F F 13 260-279 52 52 52 78 78 78 F F F 14 280-299 52 52 52 78 78 78 F F F 15 300-319 55 55 55 80 80 80 F F F 16 320-339 55 55 55 80 80 80 F F F 17 340-359 49 49 49 74 74 74 F F F 18 360-379 44 44 44 67 67 67 F F F 19 380-399 50 50 50 76 76 76 F F F 20 400-419 55 55 55 80 80 80 F F F 21 420-439 55 55 55 80 80 80 F F F 22 440-459 55 55 55 80 80 80 F F F 23 460-479 55 55 55 80 80 80 F F F 24 480-499 46 46 46 69 69 69 F F F 25 500-519 47 47 47 71 71 71 F F F 26 520-539 52 52 52 78 78 78 F F F 27 540-559 54 54 54 79 79 79 F F F 28 560-579 55 55 55 80 80 80 F F F 29 580-599 55 55 55 80 80 80 F F F Max gen: 55, Max flush: 80 Begin loop 28 Downstairs to restart: 1 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.506625753Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.514869156Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.515186086Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.515216292Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.51522703Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.515239139Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360} {"msg":"Crucible 64c77216-5519-47d6-92e4-f240a6ca0f23 has session id: 8f447417-c3c9-4f05-a7f4-22c2e86106f4","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.515564877Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"Upstairs opts: Upstairs UUID: 64c77216-5519-47d6-92e4-f240a6ca0f23, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.515589714Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"Crucible stats registered with UUID: 64c77216-5519-47d6-92e4-f240a6ca0f23","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.515600402Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:44:01.515610271Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.515788368Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"":"io task","client":"2","":"downstairs","session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.515817115Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"":"io task","client":"1","":"downstairs","session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.515828273Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"":"io task","client":"0","":"downstairs","session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.51593528Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"task":"crutest"} {"msg":"The guest has requested activation with gen:56","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.515959666Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360} {"msg":"64c77216-5519-47d6-92e4-f240a6ca0f23 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.515977214Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.515986293Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"client":"0","":"downstairs","session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.515996152Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"client":"1","":"downstairs","session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.516008Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"client":"2","":"downstairs","session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.516018169Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"":"io task","client":"2","":"downstairs","session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.516032727Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"":"io task","client":"1","":"downstairs","session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.516091699Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"":"io task","client":"0","":"downstairs","session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"ds_connection connected from Ok(127.0.0.1:56351)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.516120336Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"":"io task","client":"2","":"downstairs","session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"ds_connection connected from Ok(127.0.0.1:58380)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.516132184Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"":"io task","client":"1","":"downstairs","session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"ds_connection connected from Ok(127.0.0.1:46733)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.516172009Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"":"io task","client":"0","":"downstairs","session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.516740856Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"client":"0","":"downstairs","session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.516761294Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"client":"1","":"downstairs","session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.516772732Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"client":"2","":"downstairs","session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.517080893Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.517092311Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"[0]R flush_numbers[0..12]: [74, 77, 78, 78, 70, 80, 80, 67, 80, 80, 78, 80]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.517137175Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"":"downstairs","":"downstairs","session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"[0]R generation[0..12]: [49, 51, 52, 52, 46, 55, 55, 44, 55, 55, 52, 55]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.517148594Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"":"downstairs","":"downstairs","session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.517159803Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"":"downstairs","":"downstairs","session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"[1]R flush_numbers[0..12]: [74, 77, 78, 78, 70, 80, 80, 67, 80, 80, 78, 80]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.517172651Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"":"downstairs","":"downstairs","session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"[1]R generation[0..12]: [49, 51, 52, 52, 46, 55, 55, 44, 55, 55, 52, 55]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.51718332Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"":"downstairs","":"downstairs","session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.517194798Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"":"downstairs","":"downstairs","session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"[2]R flush_numbers[0..12]: [74, 77, 78, 78, 70, 80, 80, 67, 80, 80, 78, 80]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.517205587Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"":"downstairs","":"downstairs","session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"[2]R generation[0..12]: [49, 51, 52, 52, 46, 55, 55, 44, 55, 55, 52, 55]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.517216205Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"":"downstairs","":"downstairs","session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.517227334Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"":"downstairs","":"downstairs","session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"Max found gen is 56","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.517237033Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"":"downstairs","":"downstairs","session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"Generation requested: 56 >= found:56","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.517246971Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"":"downstairs","":"downstairs","session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"Next flush: 81","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.51725657Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"":"downstairs","":"downstairs","session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.517266399Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"":"downstairs","":"downstairs","session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.517276288Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.517285356Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"client":"0","":"downstairs","session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.517295295Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"client":"1","":"downstairs","session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.517305104Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"client":"2","":"downstairs","session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.517315083Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.517325591Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"64c77216-5519-47d6-92e4-f240a6ca0f23 is now active with session: 8f447417-c3c9-4f05-a7f4-22c2e86106f4","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.51733582Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.517344829Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"session_id":"8f447417-c3c9-4f05-a7f4-22c2e86106f4"} {"msg":"The guest has finished waiting for activation with:56","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.517353968Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360} {"msg":"Activated sub_volume 64c77216-5519-47d6-92e4-f240a6ca0f23","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.517362337Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.517370665Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.517709742Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"task":"crutest"} 01/30 Write block 133 len 4096 data: 6 02/30 Read block 240 len 32768 03/30 Read block 564 len 12288 04/30 Read block 79 len 28672 05/30 Read block 428 len 40960 06/30 Flush 07/30 Write block 120 len 12288 data: 4 4 4 08/30 Write block 58 len 8192 data: 7 6 09/30 Read block 265 len 12288 10/30 Read block 267 len 4096 11/30 Write block 553 len 4096 data: 7 12/30 Read block 245 len 16384 13/30 Read block 229 len 16384 14/30 Read block 262 len 28672 15/30 Read block 529 len 28672 16/30 Write block 339 len 16384 data: 5 6 6 5 17/30 Write block 345 len 40960 data: 5 6 6 5 6 6 5 4 5 7 18/30 Write block 259 len 36864 data: 3 2 2 2 2 2 4 4 5 19/30 Read block 555 len 8192 20/30 Read block 508 len 20480 21/30 Read block 58 len 12288 22/30 Read block 242 len 24576 23/30 Read block 486 len 28672 24/30 Read block 190 len 4096 25/30 Write block 225 len 16384 data: 9 9 7 7 26/30 Read block 283 len 32768 27/30 Write block 3 len 4096 data: 4 28/30 Write block 466 len 32768 data: 5 5 6 6 6 7 7 8 29/30 Read block 310 len 24576 30/30 Write block 101 len 32768 data: 4 6 7 4 5 5 7 7 ---------------------------------------------------------------- Crucible gen:56 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 1 Done Done Done false 1001 Acked Read 8 Done Done Done false 1002 Acked Read 3 Done Done Done false 1003 Acked Read 7 Done Done Done false 1004 Acked Read 10 Done Sent Done false 1005 Acked Flush 0 Done Sent Done false 1006 Acked Write 3 Done Sent Done false 1007 Acked Write 2 Done Sent Done false 1008 Acked Read 3 Done Sent Done false 1009 Acked Read 1 Done Sent Done false 1010 Acked Write 1 Done Sent Done false 1011 Acked Read 4 Done Sent Done false 1012 Acked Read 4 Done Sent Done false 1013 Acked Read 7 Done Sent Done false 1014 Acked Read 7 Done Sent Done false 1015 Acked Write 4 Done Sent Done false 1016 Acked Write 10 Done Sent Done false 1017 Acked Write 9 Done Sent Done false 1018 Acked Read 2 Done Sent Done false 1019 Acked Read 5 Done Sent Done false 1020 Acked Read 3 Done Sent Done false 1021 Acked Read 6 Done Sent Done false 1022 Acked Read 7 Done Sent Done false 1023 Acked Read 1 Done Sent Done false 1024 Acked Write 4 Done Sent Done false 1025 Acked Read 8 Done Sent Done false 1026 Acked Write 1 Done Sent Done false 1027 Acked Write 8 Done Sent Done false 1028 Acked Read 6 Done Sent Done false 1029 Acked Write 8 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 1 26 1 28 Done 29 4 29 62 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1005)) None Some(JobId(1005)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:44:01.525492404Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:01.525794575Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1360,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 49 49 49 74 74 74 T F T <--- 1 020-039 51 51 51 77 77 77 F F F 2 040-059 52 52 52 78 78 78 T F T <--- 3 060-079 52 52 52 78 78 78 F F F 4 080-099 46 46 46 70 70 70 F F F 5 100-119 55 55 55 80 80 80 T F T <--- 6 120-139 56 55 56 81 80 81 T T T <--- 7 140-159 44 44 44 67 67 67 F F F 8 160-179 55 55 55 80 80 80 F F F 9 180-199 55 55 55 80 80 80 F F F 10 200-219 52 52 52 78 78 78 F F F 11 220-239 55 55 55 80 80 80 T F T <--- 12 240-259 55 55 55 80 80 80 T F T <--- 13 260-279 52 52 52 78 78 78 T F T <--- 14 280-299 52 52 52 78 78 78 F F F 15 300-319 55 55 55 80 80 80 F F F 16 320-339 55 55 55 80 80 80 T F T <--- 17 340-359 49 49 49 74 74 74 T F T <--- 18 360-379 44 44 44 67 67 67 F F F 19 380-399 50 50 50 76 76 76 F F F 20 400-419 55 55 55 80 80 80 F F F 21 420-439 55 55 55 80 80 80 F F F 22 440-459 55 55 55 80 80 80 F F F 23 460-479 55 55 55 80 80 80 T F T <--- 24 480-499 46 46 46 69 69 69 F F F 25 500-519 47 47 47 71 71 71 F F F 26 520-539 52 52 52 78 78 78 F F F 27 540-559 54 54 54 79 79 79 T F T <--- 28 560-579 55 55 55 80 80 80 F F F 29 580-599 55 55 55 80 80 80 F F F Max gen: 56, Max flush: 81 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 28 Verifying data now No change after verify Loop: 28 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 57 57 57 82 82 82 F F F 1 020-039 51 51 51 77 77 77 F F F 2 040-059 57 57 57 82 82 82 F F F 3 060-079 52 52 52 78 78 78 F F F 4 080-099 46 46 46 70 70 70 F F F 5 100-119 57 57 57 82 82 82 F F F 6 120-139 57 57 57 82 82 82 F F F 7 140-159 44 44 44 67 67 67 F F F 8 160-179 55 55 55 80 80 80 F F F 9 180-199 55 55 55 80 80 80 F F F 10 200-219 52 52 52 78 78 78 F F F 11 220-239 57 57 57 82 82 82 F F F 12 240-259 57 57 57 82 82 82 F F F 13 260-279 57 57 57 82 82 82 F F F 14 280-299 52 52 52 78 78 78 F F F 15 300-319 55 55 55 80 80 80 F F F 16 320-339 57 57 57 82 82 82 F F F 17 340-359 57 57 57 82 82 82 F F F 18 360-379 44 44 44 67 67 67 F F F 19 380-399 50 50 50 76 76 76 F F F 20 400-419 55 55 55 80 80 80 F F F 21 420-439 55 55 55 80 80 80 F F F 22 440-459 55 55 55 80 80 80 F F F 23 460-479 57 57 57 82 82 82 F F F 24 480-499 46 46 46 69 69 69 F F F 25 500-519 47 47 47 71 71 71 F F F 26 520-539 52 52 52 78 78 78 F F F 27 540-559 57 57 57 82 82 82 F F F 28 560-579 55 55 55 80 80 80 F F F 29 580-599 55 55 55 80 80 80 F F F Max gen: 57, Max flush: 82 Begin loop 29 Downstairs to restart: 1 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.763459605Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.771632336Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.77191939Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.771954085Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.771963664Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.771975382Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368} {"msg":"Crucible 224c20f7-b81b-4a3d-b191-0f3e4704f318 has session id: 0f545146-aceb-4911-b5f5-448dc212e6df","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.7723046Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"Upstairs opts: Upstairs UUID: 224c20f7-b81b-4a3d-b191-0f3e4704f318, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.772333807Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"Crucible stats registered with UUID: 224c20f7-b81b-4a3d-b191-0f3e4704f318","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.772345365Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:44:05.772355024Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.772501825Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"":"io task","client":"1","":"downstairs","session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.772517103Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"":"io task","client":"2","":"downstairs","session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.772527452Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"":"io task","client":"0","":"downstairs","session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.772668764Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"task":"crutest"} {"msg":"The guest has requested activation with gen:58","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.77269263Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368} {"msg":"224c20f7-b81b-4a3d-b191-0f3e4704f318 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.772711028Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.772720167Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"client":"0","":"downstairs","session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.772731815Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"client":"1","":"downstairs","session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.772741764Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"client":"2","":"downstairs","session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.772754813Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"":"io task","client":"0","":"downstairs","session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.772765171Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"":"io task","client":"1","":"downstairs","session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.77277534Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"":"io task","client":"2","":"downstairs","session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"ds_connection connected from Ok(127.0.0.1:37392)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.77285109Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"":"io task","client":"2","":"downstairs","session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"ds_connection connected from Ok(127.0.0.1:60163)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.772862339Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"":"io task","client":"1","":"downstairs","session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"ds_connection connected from Ok(127.0.0.1:50446)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.772955837Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"":"io task","client":"0","":"downstairs","session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.773538262Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"client":"2","":"downstairs","session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.773564899Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"client":"1","":"downstairs","session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.773588516Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"client":"0","":"downstairs","session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.77386642Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.773901985Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"[0]R flush_numbers[0..12]: [82, 77, 82, 78, 70, 82, 82, 67, 80, 80, 78, 82]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.773959358Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"":"downstairs","":"downstairs","session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"[0]R generation[0..12]: [57, 51, 57, 52, 46, 57, 57, 44, 55, 55, 52, 57]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.773971137Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"":"downstairs","":"downstairs","session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.773984715Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"":"downstairs","":"downstairs","session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"[1]R flush_numbers[0..12]: [82, 77, 82, 78, 70, 82, 82, 67, 80, 80, 78, 82]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.773995603Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"":"downstairs","":"downstairs","session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"[1]R generation[0..12]: [57, 51, 57, 52, 46, 57, 57, 44, 55, 55, 52, 57]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.774006262Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"":"downstairs","":"downstairs","session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.774017381Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"":"downstairs","":"downstairs","session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"[2]R flush_numbers[0..12]: [82, 77, 82, 78, 70, 82, 82, 67, 80, 80, 78, 82]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.774027979Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"":"downstairs","":"downstairs","session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"[2]R generation[0..12]: [57, 51, 57, 52, 46, 57, 57, 44, 55, 55, 52, 57]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.774038528Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"":"downstairs","":"downstairs","session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.774049626Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"":"downstairs","":"downstairs","session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"Max found gen is 58","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.774059295Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"":"downstairs","":"downstairs","session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"Generation requested: 58 >= found:58","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.774069214Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"":"downstairs","":"downstairs","session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"Next flush: 83","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.774078853Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"":"downstairs","":"downstairs","session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.774088511Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"":"downstairs","":"downstairs","session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.77409843Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.774107569Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"client":"0","":"downstairs","session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.774117528Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"client":"1","":"downstairs","session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.774128386Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"client":"2","":"downstairs","session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.774138365Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.774147594Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"224c20f7-b81b-4a3d-b191-0f3e4704f318 is now active with session: 0f545146-aceb-4911-b5f5-448dc212e6df","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.774157773Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.774166801Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"session_id":"0f545146-aceb-4911-b5f5-448dc212e6df"} {"msg":"The guest has finished waiting for activation with:58","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.77417621Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368} {"msg":"Activated sub_volume 224c20f7-b81b-4a3d-b191-0f3e4704f318","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.774184369Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.774192568Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.774468053Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"task":"crutest"} 01/30 Write block 587 len 20480 data: 5 5 4 4 4 02/30 Read block 25 len 40960 03/30 Write block 8 len 20480 data: 8 8 6 6 6 04/30 Flush 05/30 Write block 290 len 40960 data: 6 5 7 7 8 8 8 9 10 9 06/30 Write block 583 len 8192 data: 7 5 07/30 Write block 228 len 36864 data: 8 7 7 6 5 5 5 8 7 08/30 Read block 85 len 24576 09/30 Read block 82 len 20480 10/30 Read block 112 len 24576 11/30 Write block 0 len 24576 data: 3 4 4 5 4 6 12/30 Write block 343 len 28672 data: 5 5 6 7 7 6 7 13/30 Flush 14/30 Write block 585 len 40960 data: 5 5 6 6 5 5 5 4 4 4 15/30 Flush 16/30 Write block 130 len 20480 data: 6 6 6 7 4 17/30 Flush 18/30 Write block 311 len 32768 data: 3 4 5 4 3 3 5 7 19/30 Write block 543 len 24576 data: 9 9 8 6 8 7 20/30 Write block 140 len 28672 data: 6 6 6 6 5 6 5 21/30 Read block 311 len 40960 22/30 Read block 108 len 40960 23/30 Read block 178 len 40960 24/30 Flush 25/30 Write block 410 len 8192 data: 4 4 26/30 Read block 111 len 20480 27/30 Read block 420 len 12288 28/30 Write block 297 len 20480 data: 10 11 10 9 6 29/30 Write block 304 len 8192 data: 4 5 30/30 Write block 305 len 20480 data: 6 5 5 4 3 ---------------------------------------------------------------- Crucible gen:58 GIO:true work queues: Upstairs:0 downstairs:26 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1004 Acked Write 10 Done Sent Done false 1005 Acked Write 2 Done Sent Done false 1006 Acked Write 9 Done Sent Done false 1007 Acked Read 6 Done Sent Done false 1008 Acked Read 5 Done Sent Done false 1009 Acked Read 6 Done Sent Done false 1010 Acked Write 6 Done Sent Done false 1011 Acked Write 7 Done Sent Done false 1012 Acked Flush 0 Done Sent Done false 1013 Acked Write 10 Done Sent Done false 1014 Acked Flush 0 Done Sent Done false 1015 Acked Write 5 Done Sent Done false 1016 Acked Flush 0 Done Sent Done false 1017 Acked Write 8 Done Sent Done false 1018 Acked Write 6 Done Sent Done false 1019 Acked Write 7 Done Sent Done false 1020 Acked Read 10 Done Sent Done false 1021 Acked Read 10 Done Sent Done false 1022 Acked Read 10 Done Sent Done false 1023 Acked Flush 0 Done Sent Done false 1024 Acked Write 2 Done Sent Done false 1025 Acked Read 5 Done Sent Done false 1026 Acked Read 3 Done Sent Done false 1027 Acked Write 5 Sent Sent Sent false 1028 Acked Write 2 Sent Sent Sent false 1029 Acked Write 5 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 3 26 3 32 Done 23 0 23 46 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1023)) Some(JobId(1003)) Some(JobId(1023)) Downstairs last five completed: 1003 1002 1001 1000 Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:44:05.782457348Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:05.782732123Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1368,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 58 58 58 84 83 84 F F F <--- 1 020-039 51 51 51 77 77 77 F F F 2 040-059 57 57 57 82 82 82 F F F 3 060-079 52 52 52 78 78 78 F F F 4 080-099 46 46 46 70 70 70 F F F 5 100-119 57 57 57 82 82 82 F F F 6 120-139 58 57 58 86 82 86 F F F <--- 7 140-159 58 44 58 87 67 87 F F F <--- 8 160-179 55 55 55 80 80 80 F F F 9 180-199 55 55 55 80 80 80 F F F 10 200-219 52 52 52 78 78 78 F F F 11 220-239 58 57 58 84 82 84 F F F <--- 12 240-259 57 57 57 82 82 82 F F F 13 260-279 57 57 57 82 82 82 F F F 14 280-299 58 52 58 84 78 84 T F T <--- 15 300-319 58 55 58 87 80 87 T F T <--- 16 320-339 57 57 57 82 82 82 F F F 17 340-359 58 57 58 84 82 84 F F F <--- 18 360-379 44 44 44 67 67 67 F F F 19 380-399 50 50 50 76 76 76 F F F 20 400-419 55 55 55 80 80 80 T F T <--- 21 420-439 55 55 55 80 80 80 F F F 22 440-459 55 55 55 80 80 80 F F F 23 460-479 57 57 57 82 82 82 F F F 24 480-499 46 46 46 69 69 69 F F F 25 500-519 47 47 47 71 71 71 F F F 26 520-539 52 52 52 78 78 78 F F F 27 540-559 58 57 58 87 82 87 F F F <--- 28 560-579 55 55 55 80 80 80 F F F 29 580-599 58 58 58 85 83 85 F F F <--- Max gen: 58, Max flush: 87 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 29 Verifying data now No change after verify Loop: 29 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 58 58 58 84 84 84 F F F 1 020-039 51 51 51 77 77 77 F F F 2 040-059 57 57 57 82 82 82 F F F 3 060-079 52 52 52 78 78 78 F F F 4 080-099 46 46 46 70 70 70 F F F 5 100-119 57 57 57 82 82 82 F F F 6 120-139 58 58 58 86 86 86 F F F 7 140-159 58 58 58 87 87 87 F F F 8 160-179 55 55 55 80 80 80 F F F 9 180-199 55 55 55 80 80 80 F F F 10 200-219 52 52 52 78 78 78 F F F 11 220-239 58 58 58 84 84 84 F F F 12 240-259 57 57 57 82 82 82 F F F 13 260-279 57 57 57 82 82 82 F F F 14 280-299 59 59 59 88 88 88 F F F 15 300-319 59 59 59 88 88 88 F F F 16 320-339 57 57 57 82 82 82 F F F 17 340-359 58 58 58 84 84 84 F F F 18 360-379 44 44 44 67 67 67 F F F 19 380-399 50 50 50 76 76 76 F F F 20 400-419 59 59 59 88 88 88 F F F 21 420-439 55 55 55 80 80 80 F F F 22 440-459 55 55 55 80 80 80 F F F 23 460-479 57 57 57 82 82 82 F F F 24 480-499 46 46 46 69 69 69 F F F 25 500-519 47 47 47 71 71 71 F F F 26 520-539 52 52 52 78 78 78 F F F 27 540-559 58 58 58 87 87 87 F F F 28 560-579 55 55 55 80 80 80 F F F 29 580-599 58 58 58 85 85 85 F F F Max gen: 59, Max flush: 88 Begin loop 30 Downstairs to restart: 0 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.020839676Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"task":"crutest"} {"msg":"Failed to get info from \"http://127.0.0.1:12810\" Communication Error: error sending request for url (http://127.0.0.1:12810/region-info)","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:44:10.027957613Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"task":"crutest"} {"msg":"look at: http://127.0.0.1:12820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.028028514Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008820, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.034910761Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.035192005Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.035226031Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.035235379Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.035247158Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376} {"msg":"Crucible 32e65df3-1719-47f3-8492-6f18613fc63e has session id: 71fcc63e-82df-4395-9277-14036fe8d673","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.035594693Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"Upstairs opts: Upstairs UUID: 32e65df3-1719-47f3-8492-6f18613fc63e, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.03562413Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"Crucible stats registered with UUID: 32e65df3-1719-47f3-8492-6f18613fc63e","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.035635798Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:44:10.035645317Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.035791228Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"":"io task","client":"1","":"downstairs","session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.035807236Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"":"io task","client":"2","":"downstairs","session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.035817575Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"":"io task","client":"0","":"downstairs","session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.035946308Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"task":"crutest"} {"msg":"The guest has requested activation with gen:60","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.035973455Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376} {"msg":"32e65df3-1719-47f3-8492-6f18613fc63e active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.035989703Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.035998832Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"client":"0","":"downstairs","session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.03600859Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"client":"1","":"downstairs","session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.036018559Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"client":"2","":"downstairs","session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.036028528Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"":"io task","client":"2","":"downstairs","session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.036038856Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"":"io task","client":"0","":"downstairs","session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.036048975Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"":"io task","client":"1","":"downstairs","session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"ds_connection connected from Ok(127.0.0.1:64570)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.036125585Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"":"io task","client":"1","":"downstairs","session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"ds_connection connected from Ok(127.0.0.1:34935)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.036136694Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"":"io task","client":"2","":"downstairs","session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"ds_connection connected from Ok(127.0.0.1:44940)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.036147283Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"":"io task","client":"0","":"downstairs","session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.036798049Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"client":"1","":"downstairs","session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.036824306Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"client":"0","":"downstairs","session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.036842613Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"client":"2","":"downstairs","session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.037148304Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.037160703Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"[0]R flush_numbers[0..12]: [84, 77, 82, 78, 70, 82, 86, 87, 80, 80, 78, 84]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.037198188Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"":"downstairs","":"downstairs","session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"[0]R generation[0..12]: [58, 51, 57, 52, 46, 57, 58, 58, 55, 55, 52, 58]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.037209386Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"":"downstairs","":"downstairs","session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.037220675Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"":"downstairs","":"downstairs","session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"[1]R flush_numbers[0..12]: [84, 77, 82, 78, 70, 82, 86, 87, 80, 80, 78, 84]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.037231363Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"":"downstairs","":"downstairs","session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"[1]R generation[0..12]: [58, 51, 57, 52, 46, 57, 58, 58, 55, 55, 52, 58]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.037242002Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"":"downstairs","":"downstairs","session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.037253091Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"":"downstairs","":"downstairs","session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"[2]R flush_numbers[0..12]: [84, 77, 82, 78, 70, 82, 86, 87, 80, 80, 78, 84]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.037263849Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"":"downstairs","":"downstairs","session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"[2]R generation[0..12]: [58, 51, 57, 52, 46, 57, 58, 58, 55, 55, 52, 58]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.037274228Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"":"downstairs","":"downstairs","session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.037285197Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"":"downstairs","":"downstairs","session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"Max found gen is 60","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.037294775Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"":"downstairs","":"downstairs","session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"Generation requested: 60 >= found:60","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.037304624Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"":"downstairs","":"downstairs","session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"Next flush: 89","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.037314183Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"":"downstairs","":"downstairs","session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.037323792Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"":"downstairs","":"downstairs","session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.03733501Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.037344349Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"client":"0","":"downstairs","session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.037354388Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"client":"1","":"downstairs","session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.037364236Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"client":"2","":"downstairs","session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.037374265Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.037383504Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"32e65df3-1719-47f3-8492-6f18613fc63e is now active with session: 71fcc63e-82df-4395-9277-14036fe8d673","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.037393613Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.037402602Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"session_id":"71fcc63e-82df-4395-9277-14036fe8d673"} {"msg":"The guest has finished waiting for activation with:60","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.03741183Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376} {"msg":"Activated sub_volume 32e65df3-1719-47f3-8492-6f18613fc63e","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.037420119Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.037428488Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.037700043Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"task":"crutest"} 01/30 Write block 365 len 40960 data: 7 6 6 6 6 7 7 7 6 6 02/30 Read block 271 len 16384 03/30 Read block 392 len 24576 04/30 Flush 05/30 Write block 147 len 20480 data: 4 4 4 4 3 06/30 Read block 554 len 8192 07/30 Flush 08/30 Write block 401 len 12288 data: 6 7 7 09/30 Read block 553 len 24576 10/30 Read block 220 len 12288 11/30 Read block 543 len 24576 12/30 Write block 433 len 24576 data: 4 4 3 3 3 3 13/30 Write block 398 len 36864 data: 5 7 8 7 8 8 7 5 5 14/30 Read block 446 len 32768 15/30 Write block 443 len 8192 data: 6 6 16/30 Read block 4 len 24576 17/30 Write block 490 len 12288 data: 6 3 3 18/30 Read block 5 len 16384 19/30 Write block 510 len 24576 data: 9 8 7 5 5 4 20/30 Read block 432 len 16384 21/30 Flush 22/30 Write block 206 len 8192 data: 4 5 23/30 Write block 386 len 12288 data: 2 2 4 24/30 Write block 157 len 12288 data: 7 8 8 25/30 Read block 64 len 24576 26/30 Read block 480 len 40960 27/30 Write block 500 len 28672 data: 5 5 6 7 7 7 6 28/30 Read block 292 len 28672 29/30 Read block 344 len 40960 30/30 Write block 202 len 28672 data: 5 7 4 4 5 6 7 ---------------------------------------------------------------- Crucible gen:60 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 10 Sent Done Done false 1001 Acked Read 4 Sent Done Done false 1002 Acked Read 6 Sent Done Done false 1003 Acked Flush 0 Sent Done Done false 1004 Acked Write 5 Sent Done Done false 1005 Acked Read 2 Sent Done Done false 1006 Acked Flush 0 Sent Done Done false 1007 Acked Write 3 Sent Done Done false 1008 Acked Read 6 Sent Done Done false 1009 Acked Read 3 Sent Done Done false 1010 Acked Read 6 Sent Done Done false 1011 Acked Write 6 Sent Done Done false 1012 Acked Write 9 Sent Done Done false 1013 Acked Read 8 Sent Done Done false 1014 Acked Write 2 Sent Done Done false 1015 Acked Read 6 Sent Done Done false 1016 Acked Write 3 Sent Done Done false 1017 Acked Read 4 Sent Done Done false 1018 Acked Write 6 Sent Done Done false 1019 Acked Read 4 Sent Done Done false 1020 Acked Flush 0 Sent Done Done false 1021 Acked Write 2 Sent Done Done false 1022 Acked Write 3 Sent Done Done false 1023 Acked Write 3 Sent Done Done false 1024 Acked Read 6 Sent Done Done false 1025 Acked Read 10 Sent Done Done false 1026 Acked Write 7 Sent Done Done false 1027 Acked Read 7 Sent Done Done false 1028 Acked Read 10 Sent Done Done false 1029 Acked Write 7 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 30 1 1 32 Done 0 29 29 58 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: None Some(JobId(1020)) Some(JobId(1020)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:44:10.045921429Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:10.046205773Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1376,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 58 58 58 84 84 84 F F F 1 020-039 51 51 51 77 77 77 F F F 2 040-059 57 57 57 82 82 82 F F F 3 060-079 52 52 52 78 78 78 F F F 4 080-099 46 46 46 70 70 70 F F F 5 100-119 57 57 57 82 82 82 F F F 6 120-139 58 58 58 86 86 86 F F F 7 140-159 58 60 60 87 90 90 F T T <--- 8 160-179 55 55 55 80 80 80 F F F 9 180-199 55 55 55 80 80 80 F F F 10 200-219 52 52 52 78 78 78 F T T <--- 11 220-239 58 58 58 84 84 84 F F F 12 240-259 57 57 57 82 82 82 F F F 13 260-279 57 57 57 82 82 82 F F F 14 280-299 59 59 59 88 88 88 F F F 15 300-319 59 59 59 88 88 88 F F F 16 320-339 57 57 57 82 82 82 F F F 17 340-359 58 58 58 84 84 84 F F F 18 360-379 44 60 60 67 89 89 F F F <--- 19 380-399 50 60 60 76 91 91 F T T <--- 20 400-419 59 60 60 88 91 91 F F F <--- 21 420-439 55 60 60 80 91 91 F F F <--- 22 440-459 55 60 60 80 91 91 F F F <--- 23 460-479 57 57 57 82 82 82 F F F 24 480-499 46 60 60 69 91 91 F F F <--- 25 500-519 47 60 60 71 91 91 F T T <--- 26 520-539 52 52 52 78 78 78 F F F 27 540-559 58 58 58 87 87 87 F F F 28 560-579 55 55 55 80 80 80 F F F 29 580-599 58 58 58 85 85 85 F F F Max gen: 60, Max flush: 91 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 30 Verifying data now No change after verify Loop: 30 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 58 58 58 84 84 84 F F F 1 020-039 51 51 51 77 77 77 F F F 2 040-059 57 57 57 82 82 82 F F F 3 060-079 52 52 52 78 78 78 F F F 4 080-099 46 46 46 70 70 70 F F F 5 100-119 57 57 57 82 82 82 F F F 6 120-139 58 58 58 86 86 86 F F F 7 140-159 61 61 61 92 92 92 F F F 8 160-179 55 55 55 80 80 80 F F F 9 180-199 55 55 55 80 80 80 F F F 10 200-219 61 61 61 92 92 92 F F F 11 220-239 58 58 58 84 84 84 F F F 12 240-259 57 57 57 82 82 82 F F F 13 260-279 57 57 57 82 82 82 F F F 14 280-299 59 59 59 88 88 88 F F F 15 300-319 59 59 59 88 88 88 F F F 16 320-339 57 57 57 82 82 82 F F F 17 340-359 58 58 58 84 84 84 F F F 18 360-379 60 60 60 89 89 89 F F F 19 380-399 61 61 61 92 92 92 F F F 20 400-419 60 60 60 91 91 91 F F F 21 420-439 60 60 60 91 91 91 F F F 22 440-459 60 60 60 91 91 91 F F F 23 460-479 57 57 57 82 82 82 F F F 24 480-499 60 60 60 91 91 91 F F F 25 500-519 61 61 61 92 92 92 F F F 26 520-539 52 52 52 78 78 78 F F F 27 540-559 58 58 58 87 87 87 F F F 28 560-579 55 55 55 80 80 80 F F F 29 580-599 58 58 58 85 85 85 F F F Max gen: 61, Max flush: 92 Begin loop 31 Downstairs to restart: 2 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.28559205Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.293931851Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.29424684Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.294277736Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.294286675Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.294298344Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384} {"msg":"Crucible 9f87d4e5-99cd-4073-a1e3-c821d39a48dc has session id: 7116c1ea-87f7-4053-97b9-964fe3c299c4","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.29463946Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"Upstairs opts: Upstairs UUID: 9f87d4e5-99cd-4073-a1e3-c821d39a48dc, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.294659857Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"Crucible stats registered with UUID: 9f87d4e5-99cd-4073-a1e3-c821d39a48dc","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.294669916Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:44:14.294680595Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.294863681Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"":"io task","client":"2","":"downstairs","session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.294893517Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"":"io task","client":"1","":"downstairs","session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.294904656Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"":"io task","client":"0","":"downstairs","session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.295019821Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"task":"crutest"} {"msg":"The guest has requested activation with gen:62","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.295036519Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384} {"msg":"9f87d4e5-99cd-4073-a1e3-c821d39a48dc active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.295060076Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.295069645Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"client":"0","":"downstairs","session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.295079514Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"client":"1","":"downstairs","session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.295089312Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"client":"2","":"downstairs","session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.295099071Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"":"io task","client":"2","":"downstairs","session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.295130677Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"":"io task","client":"0","":"downstairs","session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.295153764Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"":"io task","client":"1","":"downstairs","session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"ds_connection connected from Ok(127.0.0.1:48041)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.295205177Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"":"io task","client":"2","":"downstairs","session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"ds_connection connected from Ok(127.0.0.1:59719)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.295216846Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"":"io task","client":"1","":"downstairs","session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"ds_connection connected from Ok(127.0.0.1:56380)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.295290737Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"":"io task","client":"0","":"downstairs","session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.295899778Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"client":"0","":"downstairs","session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.295930055Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"client":"2","":"downstairs","session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.295944403Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"client":"1","":"downstairs","session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.296210909Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.296245734Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"[0]R flush_numbers[0..12]: [84, 77, 82, 78, 70, 82, 86, 92, 80, 80, 92, 84]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.296321664Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"":"downstairs","":"downstairs","session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"[0]R generation[0..12]: [58, 51, 57, 52, 46, 57, 58, 61, 55, 55, 61, 58]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.296332823Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"":"downstairs","":"downstairs","session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.296344031Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"":"downstairs","":"downstairs","session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"[1]R flush_numbers[0..12]: [84, 77, 82, 78, 70, 82, 86, 92, 80, 80, 92, 84]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.29635469Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"":"downstairs","":"downstairs","session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"[1]R generation[0..12]: [58, 51, 57, 52, 46, 57, 58, 61, 55, 55, 61, 58]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.296365379Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"":"downstairs","":"downstairs","session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.296376477Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"":"downstairs","":"downstairs","session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"[2]R flush_numbers[0..12]: [84, 77, 82, 78, 70, 82, 86, 92, 80, 80, 92, 84]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.296386866Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"":"downstairs","":"downstairs","session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"[2]R generation[0..12]: [58, 51, 57, 52, 46, 57, 58, 61, 55, 55, 61, 58]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.296397235Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"":"downstairs","":"downstairs","session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.296408153Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"":"downstairs","":"downstairs","session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"Max found gen is 62","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.296417892Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"":"downstairs","":"downstairs","session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"Generation requested: 62 >= found:62","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.296427781Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"":"downstairs","":"downstairs","session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"Next flush: 93","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.296437319Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"":"downstairs","":"downstairs","session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.296448418Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"":"downstairs","":"downstairs","session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.296458477Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.296467696Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"client":"0","":"downstairs","session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.296477854Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"client":"1","":"downstairs","session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.296487863Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"client":"2","":"downstairs","session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.296498122Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.296507411Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"9f87d4e5-99cd-4073-a1e3-c821d39a48dc is now active with session: 7116c1ea-87f7-4053-97b9-964fe3c299c4","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.296517439Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.296526388Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"session_id":"7116c1ea-87f7-4053-97b9-964fe3c299c4"} {"msg":"The guest has finished waiting for activation with:62","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.296535657Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384} {"msg":"Activated sub_volume 9f87d4e5-99cd-4073-a1e3-c821d39a48dc","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.296543786Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.296552025Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.296856006Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"task":"crutest"} 01/30 Write block 281 len 36864 data: 6 6 6 7 9 9 9 9 8 02/30 Flush 03/30 Flush 04/30 Write block 98 len 36864 data: 5 5 4 5 7 8 5 6 6 05/30 Read block 370 len 24576 06/30 Write block 231 len 20480 data: 7 6 6 6 9 07/30 Write block 277 len 16384 data: 5 5 5 6 08/30 Read block 77 len 20480 09/30 Read block 15 len 40960 10/30 Read block 38 len 28672 11/30 Read block 255 len 8192 12/30 Write block 531 len 28672 data: 5 4 4 4 4 4 6 13/30 Write block 393 len 4096 data: 6 14/30 Write block 18 len 12288 data: 5 6 5 15/30 Read block 146 len 4096 16/30 Read block 13 len 24576 17/30 Write block 393 len 4096 data: 7 18/30 Read block 467 len 24576 19/30 Read block 237 len 4096 20/30 Read block 360 len 32768 21/30 Write block 63 len 40960 data: 7 6 7 7 4 4 5 5 5 5 22/30 Write block 31 len 40960 data: 7 5 7 8 6 6 5 6 5 5 23/30 Write block 200 len 12288 data: 5 5 6 24/30 Read block 493 len 8192 25/30 Read block 169 len 28672 26/30 Read block 359 len 28672 27/30 Read block 460 len 36864 28/30 Read block 540 len 12288 29/30 Write block 355 len 24576 data: 7 7 8 8 8 8 30/30 Write block 252 len 28672 data: 5 5 4 4 3 3 3 ---------------------------------------------------------------- Crucible gen:62 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 9 Done Done Done false 1001 Acked Flush 0 Done Done Sent false 1002 Acked Flush 0 Done Done Sent false 1003 Acked Write 9 Done Done Sent false 1004 Acked Read 6 Done Done Sent false 1005 Acked Write 5 Done Done Sent false 1006 Acked Write 4 Done Done Sent false 1007 Acked Read 5 Done Done Sent false 1008 Acked Read 10 Done Done Sent false 1009 Acked Read 7 Done Done Sent false 1010 Acked Read 2 Done Done Sent false 1011 Acked Write 7 Done Done Sent false 1012 Acked Write 1 Done Done Sent false 1013 Acked Write 3 Done Done Sent false 1014 Acked Read 1 Done Done Sent false 1015 Acked Read 6 Done Done Sent false 1016 Acked Write 1 Done Done Sent false 1017 Acked Read 6 Done Done Sent false 1018 Acked Read 1 Done Done Sent false 1019 Acked Read 8 Done Done Sent false 1020 Acked Write 10 Done Done Sent false 1021 Acked Write 10 Done Done Sent false 1022 Acked Write 3 Done Done Sent false 1023 Acked Read 2 Done Done Sent false 1024 Acked Read 7 Done Done Sent false 1025 Acked Read 7 Done Done Sent false 1026 Acked Read 9 Done Done Sent false 1027 Acked Read 3 Done Done Sent false 1028 Acked Write 6 Sent Sent Sent false 1029 Acked Write 7 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 2 2 29 33 Done 28 28 1 57 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1002)) Some(JobId(1002)) None Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:44:14.304927161Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:14.305210784Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1384,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 58 58 58 84 84 84 T T F <--- 1 020-039 51 51 51 77 77 77 T T F <--- 2 040-059 57 57 57 82 82 82 T T F <--- 3 060-079 52 52 52 78 78 78 T T F <--- 4 080-099 46 46 46 70 70 70 T T F <--- 5 100-119 57 57 57 82 82 82 T T F <--- 6 120-139 58 58 58 86 86 86 F F F 7 140-159 61 61 61 92 92 92 F F F 8 160-179 55 55 55 80 80 80 F F F 9 180-199 55 55 55 80 80 80 F F F 10 200-219 61 61 61 92 92 92 T T F <--- 11 220-239 58 58 58 84 84 84 T T F <--- 12 240-259 57 57 57 82 82 82 T T F <--- 13 260-279 57 57 57 82 82 82 T T F <--- 14 280-299 62 62 59 93 93 88 T T T <--- 15 300-319 59 59 59 88 88 88 F F F 16 320-339 57 57 57 82 82 82 F F F 17 340-359 58 58 58 84 84 84 T T F <--- 18 360-379 60 60 60 89 89 89 T T F <--- 19 380-399 61 61 61 92 92 92 T T F <--- 20 400-419 60 60 60 91 91 91 F F F 21 420-439 60 60 60 91 91 91 F F F 22 440-459 60 60 60 91 91 91 F F F 23 460-479 57 57 57 82 82 82 F F F 24 480-499 60 60 60 91 91 91 F F F 25 500-519 61 61 61 92 92 92 F F F 26 520-539 52 52 52 78 78 78 T T F <--- 27 540-559 58 58 58 87 87 87 F F F 28 560-579 55 55 55 80 80 80 F F F 29 580-599 58 58 58 85 85 85 F F F Max gen: 62, Max flush: 93 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 31 Verifying data now No change after verify Loop: 31 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 63 63 63 94 94 94 F F F 1 020-039 63 63 63 94 94 94 F F F 2 040-059 63 63 63 94 94 94 F F F 3 060-079 63 63 63 94 94 94 F F F 4 080-099 63 63 63 94 94 94 F F F 5 100-119 63 63 63 94 94 94 F F F 6 120-139 58 58 58 86 86 86 F F F 7 140-159 61 61 61 92 92 92 F F F 8 160-179 55 55 55 80 80 80 F F F 9 180-199 55 55 55 80 80 80 F F F 10 200-219 63 63 63 94 94 94 F F F 11 220-239 63 63 63 94 94 94 F F F 12 240-259 63 63 63 94 94 94 F F F 13 260-279 63 63 63 94 94 94 F F F 14 280-299 63 63 63 94 94 94 F F F 15 300-319 59 59 59 88 88 88 F F F 16 320-339 57 57 57 82 82 82 F F F 17 340-359 63 63 63 94 94 94 F F F 18 360-379 63 63 63 94 94 94 F F F 19 380-399 63 63 63 94 94 94 F F F 20 400-419 60 60 60 91 91 91 F F F 21 420-439 60 60 60 91 91 91 F F F 22 440-459 60 60 60 91 91 91 F F F 23 460-479 57 57 57 82 82 82 F F F 24 480-499 60 60 60 91 91 91 F F F 25 500-519 61 61 61 92 92 92 F F F 26 520-539 63 63 63 94 94 94 F F F 27 540-559 58 58 58 87 87 87 F F F 28 560-579 55 55 55 80 80 80 F F F 29 580-599 58 58 58 85 85 85 F F F Max gen: 63, Max flush: 94 Begin loop 32 Downstairs to restart: 1 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.555640087Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.563664218Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.563980537Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.564009124Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.564017703Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.564033151Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392} {"msg":"Crucible 5b8eb0fa-99c1-47e1-8a76-8dd874daf386 has session id: 00c1a2bc-56c7-42e8-946d-07163ce1efc8","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.564379076Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"Upstairs opts: Upstairs UUID: 5b8eb0fa-99c1-47e1-8a76-8dd874daf386, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.564400553Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"Crucible stats registered with UUID: 5b8eb0fa-99c1-47e1-8a76-8dd874daf386","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.564410982Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:44:18.564431569Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.564601648Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"":"io task","client":"1","":"downstairs","session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.564629684Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"":"io task","client":"2","":"downstairs","session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.564640663Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"":"io task","client":"0","":"downstairs","session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.564759107Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"task":"crutest"} {"msg":"The guest has requested activation with gen:64","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.564783124Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392} {"msg":"5b8eb0fa-99c1-47e1-8a76-8dd874daf386 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.564801472Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.564810541Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"client":"0","":"downstairs","session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.56482045Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"client":"1","":"downstairs","session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.564830558Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"client":"2","":"downstairs","session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.564840507Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"":"io task","client":"2","":"downstairs","session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.564850666Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"":"io task","client":"0","":"downstairs","session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.564860864Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"":"io task","client":"1","":"downstairs","session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"ds_connection connected from Ok(127.0.0.1:58489)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.564941284Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"":"io task","client":"1","":"downstairs","session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"ds_connection connected from Ok(127.0.0.1:44778)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.56497574Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"":"io task","client":"2","":"downstairs","session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"ds_connection connected from Ok(127.0.0.1:41209)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.564991518Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"":"io task","client":"0","":"downstairs","session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.565695407Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"client":"2","":"downstairs","session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.565720154Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"client":"0","":"downstairs","session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.565738502Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"client":"1","":"downstairs","session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.566043043Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.566078838Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"[0]R flush_numbers[0..12]: [94, 94, 94, 94, 94, 94, 86, 92, 80, 80, 94, 94]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.566161088Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"":"downstairs","":"downstairs","session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"[0]R generation[0..12]: [63, 63, 63, 63, 63, 63, 58, 61, 55, 55, 63, 63]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.566172846Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"":"downstairs","":"downstairs","session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.566184255Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"":"downstairs","":"downstairs","session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"[1]R flush_numbers[0..12]: [94, 94, 94, 94, 94, 94, 86, 92, 80, 80, 94, 94]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.566194943Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"":"downstairs","":"downstairs","session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"[1]R generation[0..12]: [63, 63, 63, 63, 63, 63, 58, 61, 55, 55, 63, 63]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.566205412Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"":"downstairs","":"downstairs","session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.566216491Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"":"downstairs","":"downstairs","session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"[2]R flush_numbers[0..12]: [94, 94, 94, 94, 94, 94, 86, 92, 80, 80, 94, 94]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.566227049Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"":"downstairs","":"downstairs","session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"[2]R generation[0..12]: [63, 63, 63, 63, 63, 63, 58, 61, 55, 55, 63, 63]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.566237638Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"":"downstairs","":"downstairs","session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.566248686Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"":"downstairs","":"downstairs","session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"Max found gen is 64","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.566258395Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"":"downstairs","":"downstairs","session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"Generation requested: 64 >= found:64","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.566270454Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"":"downstairs","":"downstairs","session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"Next flush: 95","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.566280102Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"":"downstairs","":"downstairs","session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.566289821Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"":"downstairs","":"downstairs","session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.56629996Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.566309239Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"client":"0","":"downstairs","session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.566319187Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"client":"1","":"downstairs","session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.566329036Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"client":"2","":"downstairs","session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.566339045Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.566348474Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"5b8eb0fa-99c1-47e1-8a76-8dd874daf386 is now active with session: 00c1a2bc-56c7-42e8-946d-07163ce1efc8","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.566358672Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.566367631Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"session_id":"00c1a2bc-56c7-42e8-946d-07163ce1efc8"} {"msg":"The guest has finished waiting for activation with:64","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.5663769Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392} {"msg":"Activated sub_volume 5b8eb0fa-99c1-47e1-8a76-8dd874daf386","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.566385429Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.566393738Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.566676392Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"task":"crutest"} 01/30 Write block 383 len 32768 data: 5 4 2 3 3 5 4 5 02/30 Read block 441 len 24576 03/30 Write block 431 len 20480 data: 5 5 5 5 4 04/30 Read block 136 len 20480 05/30 Read block 393 len 36864 06/30 Read block 355 len 12288 07/30 Write block 593 len 20480 data: 5 5 4 4 4 08/30 Flush 09/30 Write block 573 len 16384 data: 11 10 10 15 10/30 Write block 240 len 28672 data: 7 6 7 6 6 7 7 11/30 Read block 577 len 28672 12/30 Read block 412 len 20480 13/30 Read block 426 len 24576 14/30 Flush 15/30 Write block 563 len 28672 data: 4 4 5 6 6 6 6 16/30 Read block 64 len 28672 17/30 Read block 356 len 32768 18/30 Flush 19/30 Write block 225 len 24576 data: 10 10 8 9 8 8 20/30 Read block 347 len 24576 21/30 Read block 165 len 12288 22/30 Write block 70 len 20480 data: 6 6 6 5 4 23/30 Read block 213 len 20480 24/30 Write block 332 len 24576 data: 3 4 3 2 2 3 25/30 Read block 503 len 36864 26/30 Write block 452 len 28672 data: 5 5 5 6 6 6 6 27/30 Write block 343 len 24576 data: 6 6 7 8 8 7 28/30 Write block 298 len 28672 data: 12 11 10 7 5 5 5 29/30 Write block 70 len 32768 data: 7 7 7 6 5 4 3 2 30/30 Write block 14 len 4096 data: 5 ---------------------------------------------------------------- Crucible gen:64 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 8 Done Sent Done false 1001 Acked Read 6 Done Sent Done false 1002 Acked Write 5 Done Sent Done false 1003 Acked Read 5 Done Sent Done false 1004 Acked Read 9 Done Sent Done false 1005 Acked Read 3 Done Sent Done false 1006 Acked Write 5 Done Sent Done false 1007 Acked Flush 0 Done Sent Done false 1008 Acked Write 4 Done Sent Done false 1009 Acked Write 7 Done Sent Done false 1010 Acked Read 7 Done Sent Done false 1011 Acked Read 5 Done Sent Done false 1012 Acked Read 6 Done Sent Done false 1013 Acked Flush 0 Done Sent Done false 1014 Acked Write 7 Done Sent Done false 1015 Acked Read 7 Done Sent Done false 1016 Acked Read 8 Done Sent Done false 1017 Acked Flush 0 Done Sent Done false 1018 Acked Write 6 Done Sent Done false 1019 Acked Read 6 Done Sent Done false 1020 Acked Read 3 Done Sent Done false 1021 Acked Write 5 Done Sent Done false 1022 Acked Read 5 Done Sent Done false 1023 Acked Write 6 Done Sent Done false 1024 Acked Read 9 Done Sent Done false 1025 Acked Write 7 Done Sent Done false 1026 Acked Write 6 Sent Sent Sent false 1027 Acked Write 7 Sent Sent Sent false 1028 Acked Write 8 Sent Sent Sent false 1029 Acked Write 1 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 4 30 4 38 Done 26 0 26 52 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1017)) None Some(JobId(1017)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:44:18.57456307Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:18.574869491Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1392,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 63 63 63 94 94 94 T F T <--- 1 020-039 63 63 63 94 94 94 F F F 2 040-059 63 63 63 94 94 94 F F F 3 060-079 63 63 63 94 94 94 T F T <--- 4 080-099 63 63 63 94 94 94 F F F 5 100-119 63 63 63 94 94 94 F F F 6 120-139 58 58 58 86 86 86 F F F 7 140-159 61 61 61 92 92 92 F F F 8 160-179 55 55 55 80 80 80 F F F 9 180-199 55 55 55 80 80 80 F F F 10 200-219 63 63 63 94 94 94 F F F 11 220-239 63 63 63 94 94 94 T F T <--- 12 240-259 64 63 64 96 94 96 F F F <--- 13 260-279 63 63 63 94 94 94 F F F 14 280-299 63 63 63 94 94 94 T F T <--- 15 300-319 59 59 59 88 88 88 T F T <--- 16 320-339 57 57 57 82 82 82 T F T <--- 17 340-359 63 63 63 94 94 94 T F T <--- 18 360-379 63 63 63 94 94 94 F F F 19 380-399 64 63 64 95 94 95 F F F <--- 20 400-419 60 60 60 91 91 91 F F F 21 420-439 64 60 64 95 91 95 F F F <--- 22 440-459 60 60 60 91 91 91 T F T <--- 23 460-479 57 57 57 82 82 82 F F F 24 480-499 60 60 60 91 91 91 F F F 25 500-519 61 61 61 92 92 92 F F F 26 520-539 63 63 63 94 94 94 F F F 27 540-559 58 58 58 87 87 87 F F F 28 560-579 64 55 64 97 80 97 F F F <--- 29 580-599 64 58 64 95 85 95 F F F <--- Max gen: 64, Max flush: 97 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 32 Verifying data now No change after verify Loop: 32 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 65 65 65 98 98 98 F F F 1 020-039 63 63 63 94 94 94 F F F 2 040-059 63 63 63 94 94 94 F F F 3 060-079 65 65 65 98 98 98 F F F 4 080-099 63 63 63 94 94 94 F F F 5 100-119 63 63 63 94 94 94 F F F 6 120-139 58 58 58 86 86 86 F F F 7 140-159 61 61 61 92 92 92 F F F 8 160-179 55 55 55 80 80 80 F F F 9 180-199 55 55 55 80 80 80 F F F 10 200-219 63 63 63 94 94 94 F F F 11 220-239 65 65 65 98 98 98 F F F 12 240-259 64 64 64 96 96 96 F F F 13 260-279 63 63 63 94 94 94 F F F 14 280-299 65 65 65 98 98 98 F F F 15 300-319 65 65 65 98 98 98 F F F 16 320-339 65 65 65 98 98 98 F F F 17 340-359 65 65 65 98 98 98 F F F 18 360-379 63 63 63 94 94 94 F F F 19 380-399 64 64 64 95 95 95 F F F 20 400-419 60 60 60 91 91 91 F F F 21 420-439 64 64 64 95 95 95 F F F 22 440-459 65 65 65 98 98 98 F F F 23 460-479 57 57 57 82 82 82 F F F 24 480-499 60 60 60 91 91 91 F F F 25 500-519 61 61 61 92 92 92 F F F 26 520-539 63 63 63 94 94 94 F F F 27 540-559 58 58 58 87 87 87 F F F 28 560-579 64 64 64 97 97 97 F F F 29 580-599 64 64 64 95 95 95 F F F Max gen: 65, Max flush: 98 Begin loop 33 Downstairs to restart: 0 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.817659553Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"task":"crutest"} {"msg":"Failed to get info from \"http://127.0.0.1:12810\" Communication Error: error sending request for url (http://127.0.0.1:12810/region-info)","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:44:22.824771091Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"task":"crutest"} {"msg":"look at: http://127.0.0.1:12820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.824841882Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008820, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.831733048Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.831998154Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.83203389Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.832043358Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.832054917Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400} {"msg":"Crucible 072d7c14-3b1c-4d68-8a1c-9df5f12bea54 has session id: 48934c0c-3e39-4023-afa8-534e91fe0478","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.832402652Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"Upstairs opts: Upstairs UUID: 072d7c14-3b1c-4d68-8a1c-9df5f12bea54, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.832452316Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"Crucible stats registered with UUID: 072d7c14-3b1c-4d68-8a1c-9df5f12bea54","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.832463094Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:44:22.832472333Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.832629863Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"":"io task","client":"1","":"downstairs","session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.832645571Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"":"io task","client":"0","":"downstairs","session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.83265575Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"":"io task","client":"2","":"downstairs","session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.832796982Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"task":"crutest"} {"msg":"The guest has requested activation with gen:66","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.832824468Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400} {"msg":"072d7c14-3b1c-4d68-8a1c-9df5f12bea54 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.832836697Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.832845855Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"client":"0","":"downstairs","session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.832855784Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"client":"1","":"downstairs","session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.832865653Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"client":"2","":"downstairs","session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.832875232Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"":"io task","client":"2","":"downstairs","session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.8328853Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"":"io task","client":"0","":"downstairs","session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.832895639Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"":"io task","client":"1","":"downstairs","session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"ds_connection connected from Ok(127.0.0.1:58389)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.832971389Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"":"io task","client":"0","":"downstairs","session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"ds_connection connected from Ok(127.0.0.1:62579)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.832997806Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"":"io task","client":"2","":"downstairs","session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"ds_connection connected from Ok(127.0.0.1:56713)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.833009314Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"":"io task","client":"1","":"downstairs","session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.833561594Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"client":"1","":"downstairs","session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.83358652Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"client":"0","":"downstairs","session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.833690857Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"client":"2","":"downstairs","session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.833917158Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.833926907Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"[0]R flush_numbers[0..12]: [98, 94, 94, 98, 94, 94, 86, 92, 80, 80, 94, 98]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.833970171Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"":"downstairs","":"downstairs","session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"[0]R generation[0..12]: [65, 63, 63, 65, 63, 63, 58, 61, 55, 55, 63, 65]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.83398153Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"":"downstairs","":"downstairs","session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.833992838Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"":"downstairs","":"downstairs","session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"[1]R flush_numbers[0..12]: [98, 94, 94, 98, 94, 94, 86, 92, 80, 80, 94, 98]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.834003617Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"":"downstairs","":"downstairs","session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"[1]R generation[0..12]: [65, 63, 63, 65, 63, 63, 58, 61, 55, 55, 63, 65]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.834014226Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"":"downstairs","":"downstairs","session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.834025404Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"":"downstairs","":"downstairs","session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"[2]R flush_numbers[0..12]: [98, 94, 94, 98, 94, 94, 86, 92, 80, 80, 94, 98]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.834038212Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"":"downstairs","":"downstairs","session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"[2]R generation[0..12]: [65, 63, 63, 65, 63, 63, 58, 61, 55, 55, 63, 65]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.834048851Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"":"downstairs","":"downstairs","session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.83405993Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"":"downstairs","":"downstairs","session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"Max found gen is 66","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.834069538Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"":"downstairs","":"downstairs","session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"Generation requested: 66 >= found:66","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.834079327Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"":"downstairs","":"downstairs","session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"Next flush: 99","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.834088716Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"":"downstairs","":"downstairs","session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.834098235Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"":"downstairs","":"downstairs","session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.834108443Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.834117512Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"client":"0","":"downstairs","session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.834127811Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"client":"1","":"downstairs","session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.8341378Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"client":"2","":"downstairs","session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.834148328Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.834157717Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"072d7c14-3b1c-4d68-8a1c-9df5f12bea54 is now active with session: 48934c0c-3e39-4023-afa8-534e91fe0478","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.834167876Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.834176755Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"session_id":"48934c0c-3e39-4023-afa8-534e91fe0478"} {"msg":"The guest has finished waiting for activation with:66","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.834186204Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400} {"msg":"Activated sub_volume 072d7c14-3b1c-4d68-8a1c-9df5f12bea54","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.834195542Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.834203741Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.834535739Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"task":"crutest"} 01/30 Flush 02/30 Write block 504 len 8192 data: 8 8 03/30 Read block 358 len 40960 04/30 Write block 222 len 12288 data: 9 9 10 05/30 Read block 81 len 32768 06/30 Write block 48 len 28672 data: 5 4 4 4 3 3 4 07/30 Read block 413 len 4096 08/30 Write block 288 len 40960 data: 10 9 7 6 8 8 9 9 9 11 09/30 Read block 50 len 32768 10/30 Read block 109 len 32768 11/30 Read block 15 len 40960 12/30 Read block 504 len 40960 13/30 Write block 227 len 20480 data: 9 10 9 9 8 14/30 Write block 401 len 24576 data: 8 9 9 8 6 6 15/30 Read block 374 len 20480 16/30 Read block 442 len 12288 17/30 Read block 169 len 40960 18/30 Read block 120 len 20480 19/30 Read block 59 len 12288 20/30 Read block 367 len 8192 21/30 Write block 392 len 4096 data: 6 22/30 Read block 584 len 32768 23/30 Read block 105 len 28672 24/30 Write block 541 len 16384 data: 8 10 10 10 25/30 Write block 161 len 24576 data: 5 6 6 6 5 5 26/30 Read block 400 len 24576 27/30 Read block 358 len 8192 28/30 Read block 7 len 36864 29/30 Read block 238 len 28672 30/30 Read block 341 len 28672 ---------------------------------------------------------------- Crucible gen:66 GIO:true work queues: Upstairs:0 downstairs:29 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1001 Acked Write 2 Done Done Done false 1002 Acked Read 10 Done Done Done false 1003 Acked Write 3 Done Done Done false 1004 Acked Read 8 Done Done Done false 1005 Acked Write 7 Done Done Done false 1006 Acked Read 1 Done Done Done false 1007 Acked Write 10 Done Done Done false 1008 Acked Read 8 Done Done Done false 1009 Acked Read 8 Sent Done Done false 1010 Acked Read 10 Sent Done Done false 1011 Acked Read 10 Sent Done Done false 1012 Acked Write 5 Sent Done Done false 1013 Acked Write 6 Sent Done Done false 1014 Acked Read 5 Sent Done Done false 1015 Acked Read 3 Sent Done Done false 1016 Acked Read 10 Sent Done Done false 1017 Acked Read 5 Sent Done Done false 1018 Acked Read 3 Sent Done Done false 1019 Acked Read 2 Sent Done Done false 1020 Acked Write 1 Sent Done Done false 1021 Acked Read 8 Sent Done Done false 1022 Acked Read 7 Sent Done Done false 1023 Acked Write 4 Sent Done Done false 1024 Acked Write 6 Sent Done Done false 1025 Acked Read 6 Sent Done Done false 1026 Acked Read 2 Sent Done Done false 1027 Acked Read 9 Sent Done Done false 1028 Acked Read 7 Sent Done Done false 1029 Acked Read 7 Sent Done Done false STATES DS:0 DS:1 DS:2 TOTAL Sent 21 0 0 21 Done 8 29 29 66 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1000)) Some(JobId(1000)) Some(JobId(1000)) Downstairs last five completed: 1000 Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:44:22.843110859Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:22.843394313Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1400,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 65 65 65 98 98 98 F F F 1 020-039 63 63 63 94 94 94 F F F 2 040-059 63 63 63 94 94 94 T T T 3 060-079 65 65 65 98 98 98 F F F 4 080-099 63 63 63 94 94 94 F F F 5 100-119 63 63 63 94 94 94 F F F 6 120-139 58 58 58 86 86 86 F F F 7 140-159 61 61 61 92 92 92 F F F 8 160-179 55 55 55 80 80 80 F T T <--- 9 180-199 55 55 55 80 80 80 F F F 10 200-219 63 63 63 94 94 94 F F F 11 220-239 65 65 65 98 98 98 T T T 12 240-259 64 64 64 96 96 96 F F F 13 260-279 63 63 63 94 94 94 F F F 14 280-299 65 65 65 98 98 98 T T T 15 300-319 65 65 65 98 98 98 F F F 16 320-339 65 65 65 98 98 98 F F F 17 340-359 65 65 65 98 98 98 F F F 18 360-379 63 63 63 94 94 94 F F F 19 380-399 64 64 64 95 95 95 F T T <--- 20 400-419 60 60 60 91 91 91 F T T <--- 21 420-439 64 64 64 95 95 95 F F F 22 440-459 65 65 65 98 98 98 F F F 23 460-479 57 57 57 82 82 82 F F F 24 480-499 60 60 60 91 91 91 F F F 25 500-519 61 61 61 92 92 92 T T T 26 520-539 63 63 63 94 94 94 F F F 27 540-559 58 58 58 87 87 87 F T T <--- 28 560-579 64 64 64 97 97 97 F F F 29 580-599 64 64 64 95 95 95 F F F Max gen: 65, Max flush: 98 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 33 Verifying data now Files /tmp/test_repair/test_repair_verify.data and /tmp/test_repair/test_repair_verify.data.last differ 230d229 < 8, 231a231,233 > 10, > 9, > 9, 233,234d234 < 8, < 7, diff found after verify Loop: 33 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 65 65 65 98 98 98 F F F 1 020-039 63 63 63 94 94 94 F F F 2 040-059 66 66 66 99 99 99 F F F 3 060-079 65 65 65 98 98 98 F F F 4 080-099 63 63 63 94 94 94 F F F 5 100-119 63 63 63 94 94 94 F F F 6 120-139 58 58 58 86 86 86 F F F 7 140-159 61 61 61 92 92 92 F F F 8 160-179 66 66 66 99 99 99 F F F 9 180-199 55 55 55 80 80 80 F F F 10 200-219 63 63 63 94 94 94 F F F 11 220-239 66 66 66 99 99 99 F F F 12 240-259 64 64 64 96 96 96 F F F 13 260-279 63 63 63 94 94 94 F F F 14 280-299 66 66 66 99 99 99 F F F 15 300-319 65 65 65 98 98 98 F F F 16 320-339 65 65 65 98 98 98 F F F 17 340-359 65 65 65 98 98 98 F F F 18 360-379 63 63 63 94 94 94 F F F 19 380-399 66 66 66 99 99 99 F F F 20 400-419 66 66 66 99 99 99 F F F 21 420-439 64 64 64 95 95 95 F F F 22 440-459 65 65 65 98 98 98 F F F 23 460-479 57 57 57 82 82 82 F F F 24 480-499 60 60 60 91 91 91 F F F 25 500-519 66 66 66 99 99 99 F F F 26 520-539 63 63 63 94 94 94 F F F 27 540-559 66 66 66 99 99 99 F F F 28 560-579 64 64 64 97 97 97 F F F 29 580-599 64 64 64 95 95 95 F F F Max gen: 66, Max flush: 99 Begin loop 34 Downstairs to restart: 0 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.088257438Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"task":"crutest"} {"msg":"Failed to get info from \"http://127.0.0.1:12810\" Communication Error: error sending request for url (http://127.0.0.1:12810/region-info)","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:44:27.095425319Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"task":"crutest"} {"msg":"look at: http://127.0.0.1:12820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.0954981Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008820, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.102306896Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.102579032Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.102607778Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.102619586Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.102631185Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411} {"msg":"Crucible cb8cea4e-71cf-445a-a5b2-4934e8ab6f0c has session id: b0b7cd44-07b5-4cd4-84da-abfd21a847cf","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.103005267Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"Upstairs opts: Upstairs UUID: cb8cea4e-71cf-445a-a5b2-4934e8ab6f0c, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.10306091Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"Crucible stats registered with UUID: cb8cea4e-71cf-445a-a5b2-4934e8ab6f0c","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.103072708Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:44:27.103082117Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.103231748Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"":"io task","client":"2","":"downstairs","session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.103247506Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"":"io task","client":"0","":"downstairs","session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.103257845Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"":"io task","client":"1","":"downstairs","session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.103398776Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"task":"crutest"} {"msg":"The guest has requested activation with gen:68","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.103422533Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411} {"msg":"cb8cea4e-71cf-445a-a5b2-4934e8ab6f0c active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.103440631Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.10344976Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"client":"0","":"downstairs","session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.103459739Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"client":"1","":"downstairs","session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.103469657Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"client":"2","":"downstairs","session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.103481356Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"":"io task","client":"2","":"downstairs","session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.103491585Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"":"io task","client":"0","":"downstairs","session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.103501713Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"":"io task","client":"1","":"downstairs","session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"ds_connection connected from Ok(127.0.0.1:48732)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.103570524Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"":"io task","client":"2","":"downstairs","session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"ds_connection connected from Ok(127.0.0.1:51428)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.103665352Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"":"io task","client":"1","":"downstairs","session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"ds_connection connected from Ok(127.0.0.1:61922)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.103677771Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"":"io task","client":"0","":"downstairs","session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.104261196Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"client":"1","":"downstairs","session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.104273274Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"client":"0","":"downstairs","session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.104284273Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"client":"2","":"downstairs","session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.104585294Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.104595023Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"[0]R flush_numbers[0..12]: [98, 94, 99, 98, 94, 94, 86, 92, 99, 80, 94, 99]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.104612161Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"":"downstairs","":"downstairs","session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"[0]R generation[0..12]: [65, 63, 66, 65, 63, 63, 58, 61, 66, 55, 63, 66]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.104622769Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"":"downstairs","":"downstairs","session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.104633978Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"":"downstairs","":"downstairs","session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"[1]R flush_numbers[0..12]: [98, 94, 99, 98, 94, 94, 86, 92, 99, 80, 94, 99]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.104646166Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"":"downstairs","":"downstairs","session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"[1]R generation[0..12]: [65, 63, 66, 65, 63, 63, 58, 61, 66, 55, 63, 66]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.104656625Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"":"downstairs","":"downstairs","session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.104667634Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"":"downstairs","":"downstairs","session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"[2]R flush_numbers[0..12]: [98, 94, 99, 98, 94, 94, 86, 92, 99, 80, 94, 99]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.104678262Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"":"downstairs","":"downstairs","session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"[2]R generation[0..12]: [65, 63, 66, 65, 63, 63, 58, 61, 66, 55, 63, 66]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.104688531Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"":"downstairs","":"downstairs","session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.10469945Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"":"downstairs","":"downstairs","session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"Max found gen is 67","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.104709228Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"":"downstairs","":"downstairs","session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"Generation requested: 68 >= found:67","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.104719087Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"":"downstairs","":"downstairs","session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"Next flush: 100","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.104728516Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"":"downstairs","":"downstairs","session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.104738165Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"":"downstairs","":"downstairs","session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.104748043Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.104756932Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"client":"0","":"downstairs","session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.104766681Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"client":"1","":"downstairs","session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.10477653Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"client":"2","":"downstairs","session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.104786538Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.104796687Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"cb8cea4e-71cf-445a-a5b2-4934e8ab6f0c is now active with session: b0b7cd44-07b5-4cd4-84da-abfd21a847cf","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.104806766Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.104815675Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"session_id":"b0b7cd44-07b5-4cd4-84da-abfd21a847cf"} {"msg":"The guest has finished waiting for activation with:68","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.104824974Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411} {"msg":"Activated sub_volume cb8cea4e-71cf-445a-a5b2-4934e8ab6f0c","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.104833123Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.104841361Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.105147512Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"task":"crutest"} 01/30 Write block 69 len 24576 data: 6 8 8 8 7 6 02/30 Read block 293 len 28672 03/30 Read block 137 len 32768 04/30 Read block 545 len 28672 05/30 Read block 549 len 12288 06/30 Flush 07/30 Flush 08/30 Write block 371 len 16384 data: 8 8 7 7 09/30 Write block 294 len 28672 data: 10 10 10 12 13 12 11 10/30 Read block 443 len 4096 11/30 Read block 292 len 32768 12/30 Flush 13/30 Write block 398 len 36864 data: 6 8 9 9 10 10 9 7 7 14/30 Read block 207 len 24576 15/30 Read block 548 len 24576 16/30 Flush 17/30 Write block 304 len 16384 data: 6 7 6 6 18/30 Flush 19/30 Write block 317 len 12288 data: 6 8 6 20/30 Write block 365 len 4096 data: 8 21/30 Write block 302 len 20480 data: 6 6 7 8 7 22/30 Read block 324 len 28672 23/30 Write block 93 len 32768 data: 8 7 6 4 4 6 6 5 24/30 Write block 79 len 4096 data: 2 25/30 Flush 26/30 Write block 104 len 40960 data: 6 7 7 8 8 6 7 7 8 6 27/30 Write block 58 len 32768 data: 8 7 7 8 8 8 7 8 28/30 Write block 126 len 16384 data: 2 2 3 5 29/30 Write block 165 len 40960 data: 6 6 5 3 4 4 4 3 3 5 30/30 Read block 240 len 12288 ---------------------------------------------------------------- Crucible gen:68 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 6 Done Done Done false 1001 Acked Read 7 Done Done Done false 1002 Acked Read 8 Sent Done Done false 1003 Acked Read 7 Sent Done Done false 1004 Acked Read 3 Sent Done Done false 1005 Acked Flush 0 Sent Done Done false 1006 Acked Flush 0 Sent Done Done false 1007 Acked Write 4 Sent Done Done false 1008 Acked Write 7 Sent Done Done false 1009 Acked Read 1 Sent Done Done false 1010 Acked Read 8 Sent Done Done false 1011 Acked Flush 0 Sent Done Done false 1012 Acked Write 9 Sent Done Done false 1013 Acked Read 6 Sent Done Done false 1014 Acked Read 6 Sent Done Done false 1015 Acked Flush 0 Sent Done Done false 1016 Acked Write 4 Sent Done Done false 1017 Acked Flush 0 Sent Done Done false 1018 Acked Write 3 Sent Done Done false 1019 Acked Write 1 Sent Done Done false 1020 Acked Write 5 Sent Done Done false 1021 Acked Read 7 Sent Done Done false 1022 Acked Write 8 Sent Done Done false 1023 Acked Write 1 Sent Done Done false 1024 Acked Flush 0 Sent Done Done false 1025 Acked Write 10 Sent Done Done false 1026 Acked Write 8 Sent Done Done false 1027 Acked Write 4 Sent Done Done false 1028 Acked Write 10 Sent Done Done false 1029 Acked Read 3 Sent Done Done false STATES DS:0 DS:1 DS:2 TOTAL Sent 28 0 0 28 Done 2 30 30 62 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: None Some(JobId(1024)) Some(JobId(1024)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:44:27.11327804Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:27.113550915Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1411,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 65 65 65 98 98 98 F F F 1 020-039 63 63 63 94 94 94 F F F 2 040-059 66 66 66 99 99 99 F T T <--- 3 060-079 65 68 68 98 105 105 T T T <--- 4 080-099 63 68 68 94 105 105 F F F <--- 5 100-119 63 68 68 94 105 105 F T T <--- 6 120-139 58 58 58 86 86 86 F T T <--- 7 140-159 61 61 61 92 92 92 F F F 8 160-179 66 66 66 99 99 99 F T T <--- 9 180-199 55 55 55 80 80 80 F F F 10 200-219 63 63 63 94 94 94 F F F 11 220-239 66 66 66 99 99 99 F F F 12 240-259 64 64 64 96 96 96 F F F 13 260-279 63 63 63 94 94 94 F F F 14 280-299 66 68 68 99 102 102 F F F <--- 15 300-319 65 68 68 98 105 105 F F F <--- 16 320-339 65 65 65 98 98 98 F F F 17 340-359 65 65 65 98 98 98 F F F 18 360-379 63 68 68 94 105 105 F F F <--- 19 380-399 66 68 68 99 103 103 F F F <--- 20 400-419 66 68 68 99 103 103 F F F <--- 21 420-439 64 64 64 95 95 95 F F F 22 440-459 65 65 65 98 98 98 F F F 23 460-479 57 57 57 82 82 82 F F F 24 480-499 60 60 60 91 91 91 F F F 25 500-519 66 66 66 99 99 99 F F F 26 520-539 63 63 63 94 94 94 F F F 27 540-559 66 66 66 99 99 99 F F F 28 560-579 64 64 64 97 97 97 F F F 29 580-599 64 64 64 95 95 95 F F F Max gen: 68, Max flush: 105 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 34 Verifying data now No change after verify Loop: 34 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 65 65 65 98 98 98 F F F 1 020-039 63 63 63 94 94 94 F F F 2 040-059 69 69 69 106 106 106 F F F 3 060-079 69 69 69 106 106 106 F F F 4 080-099 68 68 68 105 105 105 F F F 5 100-119 69 69 69 106 106 106 F F F 6 120-139 69 69 69 106 106 106 F F F 7 140-159 61 61 61 92 92 92 F F F 8 160-179 69 69 69 106 106 106 F F F 9 180-199 55 55 55 80 80 80 F F F 10 200-219 63 63 63 94 94 94 F F F 11 220-239 66 66 66 99 99 99 F F F 12 240-259 64 64 64 96 96 96 F F F 13 260-279 63 63 63 94 94 94 F F F 14 280-299 68 68 68 102 102 102 F F F 15 300-319 68 68 68 105 105 105 F F F 16 320-339 65 65 65 98 98 98 F F F 17 340-359 65 65 65 98 98 98 F F F 18 360-379 68 68 68 105 105 105 F F F 19 380-399 68 68 68 103 103 103 F F F 20 400-419 68 68 68 103 103 103 F F F 21 420-439 64 64 64 95 95 95 F F F 22 440-459 65 65 65 98 98 98 F F F 23 460-479 57 57 57 82 82 82 F F F 24 480-499 60 60 60 91 91 91 F F F 25 500-519 66 66 66 99 99 99 F F F 26 520-539 63 63 63 94 94 94 F F F 27 540-559 66 66 66 99 99 99 F F F 28 560-579 64 64 64 97 97 97 F F F 29 580-599 64 64 64 95 95 95 F F F Max gen: 69, Max flush: 106 Begin loop 35 Downstairs to restart: 1 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.356377082Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.364628574Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.364946123Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.364974509Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.364983548Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.364995187Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419} {"msg":"Crucible f0d5ddf4-d091-4911-9cfc-a69eda0a09d9 has session id: 6c242c19-3133-4b3a-a037-0e64636cb0b3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.365403884Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"Upstairs opts: Upstairs UUID: f0d5ddf4-d091-4911-9cfc-a69eda0a09d9, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.365425802Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"Crucible stats registered with UUID: f0d5ddf4-d091-4911-9cfc-a69eda0a09d9","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.365436Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:44:31.365446799Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.365613667Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"":"io task","client":"1","":"downstairs","session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.365643254Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"":"io task","client":"0","":"downstairs","session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.365654182Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"":"io task","client":"2","":"downstairs","session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.365780596Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"task":"crutest"} {"msg":"The guest has requested activation with gen:70","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.365807343Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419} {"msg":"f0d5ddf4-d091-4911-9cfc-a69eda0a09d9 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.36583097Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.365840898Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"client":"0","":"downstairs","session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.365852967Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"client":"1","":"downstairs","session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.365862826Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"client":"2","":"downstairs","session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.365872474Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"":"io task","client":"2","":"downstairs","session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.365882603Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"":"io task","client":"0","":"downstairs","session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.365892652Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"":"io task","client":"1","":"downstairs","session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"ds_connection connected from Ok(127.0.0.1:38843)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.365967442Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"":"io task","client":"1","":"downstairs","session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"ds_connection connected from Ok(127.0.0.1:60958)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.365979341Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"":"io task","client":"2","":"downstairs","session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"ds_connection connected from Ok(127.0.0.1:44730)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.365989989Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"":"io task","client":"0","":"downstairs","session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.366596461Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"client":"2","":"downstairs","session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.366632297Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"client":"1","":"downstairs","session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.366649425Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"client":"0","":"downstairs","session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.366905772Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.366929449Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"[0]R flush_numbers[0..12]: [98, 94, 106, 106, 105, 106, 106, 92, 106, 80, 94, 99]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.367005719Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"":"downstairs","":"downstairs","session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"[0]R generation[0..12]: [65, 63, 69, 69, 68, 69, 69, 61, 69, 55, 63, 66]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.367017347Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"":"downstairs","":"downstairs","session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.367030986Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"":"downstairs","":"downstairs","session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"[1]R flush_numbers[0..12]: [98, 94, 106, 106, 105, 106, 106, 92, 106, 80, 94, 99]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.367041714Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"":"downstairs","":"downstairs","session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"[1]R generation[0..12]: [65, 63, 69, 69, 68, 69, 69, 61, 69, 55, 63, 66]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.367052563Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"":"downstairs","":"downstairs","session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.367063642Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"":"downstairs","":"downstairs","session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"[2]R flush_numbers[0..12]: [98, 94, 106, 106, 105, 106, 106, 92, 106, 80, 94, 99]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.36707414Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"":"downstairs","":"downstairs","session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"[2]R generation[0..12]: [65, 63, 69, 69, 68, 69, 69, 61, 69, 55, 63, 66]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.367084709Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"":"downstairs","":"downstairs","session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.367095767Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"":"downstairs","":"downstairs","session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"Max found gen is 70","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.367105396Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"":"downstairs","":"downstairs","session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"Generation requested: 70 >= found:70","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.367115395Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"":"downstairs","":"downstairs","session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"Next flush: 107","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.367124974Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"":"downstairs","":"downstairs","session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.367134362Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"":"downstairs","":"downstairs","session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.367144661Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.36715372Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"client":"0","":"downstairs","session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.367163739Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"client":"1","":"downstairs","session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.367173517Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"client":"2","":"downstairs","session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.367184616Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.367193925Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"f0d5ddf4-d091-4911-9cfc-a69eda0a09d9 is now active with session: 6c242c19-3133-4b3a-a037-0e64636cb0b3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.367203884Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.367212792Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"session_id":"6c242c19-3133-4b3a-a037-0e64636cb0b3"} {"msg":"The guest has finished waiting for activation with:70","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.367221971Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419} {"msg":"Activated sub_volume f0d5ddf4-d091-4911-9cfc-a69eda0a09d9","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.36723029Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.367238499Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.367592324Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"task":"crutest"} 01/30 Write block 490 len 32768 data: 7 4 4 3 4 4 3 3 02/30 Read block 225 len 20480 03/30 Read block 494 len 20480 04/30 Write block 582 len 20480 data: 7 8 6 6 6 05/30 Write block 500 len 16384 data: 6 6 7 8 06/30 Read block 247 len 40960 07/30 Flush 08/30 Write block 145 len 32768 data: 7 6 5 5 5 5 4 3 09/30 Write block 374 len 24576 data: 8 5 5 5 5 4 10/30 Read block 261 len 32768 11/30 Write block 185 len 24576 data: 4 5 5 5 6 7 12/30 Write block 384 len 40960 data: 5 3 4 4 6 5 6 7 7 8 13/30 Write block 329 len 28672 data: 7 6 5 4 5 4 3 14/30 Write block 211 len 8192 data: 7 5 15/30 Flush 16/30 Write block 322 len 16384 data: 9 11 11 11 17/30 Read block 11 len 32768 18/30 Write block 518 len 20480 data: 4 3 4 4 5 19/30 Write block 9 len 36864 data: 9 7 7 7 6 6 5 3 3 20/30 Read block 78 len 8192 21/30 Flush 22/30 Write block 493 len 28672 data: 4 5 5 4 4 4 5 23/30 Read block 439 len 28672 24/30 Read block 10 len 36864 25/30 Read block 205 len 24576 26/30 Read block 47 len 32768 27/30 Write block 68 len 16384 data: 5 7 9 9 28/30 Read block 11 len 28672 29/30 Read block 278 len 32768 30/30 Read block 27 len 12288 ---------------------------------------------------------------- Crucible gen:70 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 8 Done Sent Done false 1001 Acked Read 5 Done Sent Done false 1002 Acked Read 5 Done Sent Done false 1003 Acked Write 5 Done Sent Done false 1004 Acked Write 4 Done Sent Done false 1005 Acked Read 10 Done Sent Done false 1006 Acked Flush 0 Done Sent Done false 1007 Acked Write 8 Done Sent Done false 1008 Acked Write 6 Done Sent Done false 1009 Acked Read 8 Done Sent Done false 1010 Acked Write 6 Done Sent Done false 1011 Acked Write 10 Done Sent Done false 1012 Acked Write 7 Done Sent Done false 1013 Acked Write 2 Done Sent Done false 1014 Acked Flush 0 Done Sent Done false 1015 Acked Write 4 Done Sent Done false 1016 Acked Read 8 Done Sent Done false 1017 Acked Write 5 Done Sent Done false 1018 Acked Write 9 Done Sent Done false 1019 Acked Read 2 Done Sent Done false 1020 Acked Flush 0 Done Sent Done false 1021 Acked Write 7 Done Sent Done false 1022 Acked Read 7 Done Sent Done false 1023 Acked Read 9 Done Sent Done false 1024 Acked Read 6 Done Sent Done false 1025 Acked Read 8 Done Sent Done false 1026 Acked Write 4 Done Sent Done false 1027 Acked Read 7 Done Sent Done false 1028 Acked Read 8 Done Sent Done false 1029 Acked Read 3 Done Sent Done false STATES DS:0 DS:1 DS:2 TOTAL Sent 0 30 0 30 Done 30 0 30 60 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1020)) None Some(JobId(1020)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:44:31.376411533Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:31.376681688Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1419,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 70 65 70 109 98 109 F F F <--- 1 020-039 63 63 63 94 94 94 F F F 2 040-059 69 69 69 106 106 106 F F F 3 060-079 69 69 69 106 106 106 T F T <--- 4 080-099 68 68 68 105 105 105 F F F 5 100-119 69 69 69 106 106 106 F F F 6 120-139 69 69 69 106 106 106 F F F 7 140-159 70 61 70 108 92 108 F F F <--- 8 160-179 69 69 69 106 106 106 F F F 9 180-199 70 55 70 108 80 108 F F F <--- 10 200-219 70 63 70 108 94 108 F F F <--- 11 220-239 66 66 66 99 99 99 F F F 12 240-259 64 64 64 96 96 96 F F F 13 260-279 63 63 63 94 94 94 F F F 14 280-299 68 68 68 102 102 102 F F F 15 300-319 68 68 68 105 105 105 F F F 16 320-339 70 65 70 109 98 109 F F F <--- 17 340-359 65 65 65 98 98 98 F F F 18 360-379 70 68 70 108 105 108 F F F <--- 19 380-399 70 68 70 108 103 108 F F F <--- 20 400-419 68 68 68 103 103 103 F F F 21 420-439 64 64 64 95 95 95 F F F 22 440-459 65 65 65 98 98 98 F F F 23 460-479 57 57 57 82 82 82 F F F 24 480-499 70 60 70 107 91 107 T F T <--- 25 500-519 70 66 70 109 99 109 F F F <--- 26 520-539 70 63 70 109 94 109 F F F <--- 27 540-559 66 66 66 99 99 99 F F F 28 560-579 64 64 64 97 97 97 F F F 29 580-599 70 64 70 107 95 107 F F F <--- Max gen: 70, Max flush: 109 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 35 Verifying data now No change after verify Loop: 35 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 70 70 70 109 109 109 F F F 1 020-039 63 63 63 94 94 94 F F F 2 040-059 69 69 69 106 106 106 F F F 3 060-079 71 71 71 110 110 110 F F F 4 080-099 68 68 68 105 105 105 F F F 5 100-119 69 69 69 106 106 106 F F F 6 120-139 69 69 69 106 106 106 F F F 7 140-159 70 70 70 108 108 108 F F F 8 160-179 69 69 69 106 106 106 F F F 9 180-199 70 70 70 108 108 108 F F F 10 200-219 70 70 70 108 108 108 F F F 11 220-239 66 66 66 99 99 99 F F F 12 240-259 64 64 64 96 96 96 F F F 13 260-279 63 63 63 94 94 94 F F F 14 280-299 68 68 68 102 102 102 F F F 15 300-319 68 68 68 105 105 105 F F F 16 320-339 70 70 70 109 109 109 F F F 17 340-359 65 65 65 98 98 98 F F F 18 360-379 70 70 70 108 108 108 F F F 19 380-399 70 70 70 108 108 108 F F F 20 400-419 68 68 68 103 103 103 F F F 21 420-439 64 64 64 95 95 95 F F F 22 440-459 65 65 65 98 98 98 F F F 23 460-479 57 57 57 82 82 82 F F F 24 480-499 71 71 71 110 110 110 F F F 25 500-519 70 70 70 109 109 109 F F F 26 520-539 70 70 70 109 109 109 F F F 27 540-559 66 66 66 99 99 99 F F F 28 560-579 64 64 64 97 97 97 F F F 29 580-599 70 70 70 107 107 107 F F F Max gen: 71, Max flush: 110 Begin loop 36 Downstairs to restart: 2 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.616424081Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.624678802Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.62500657Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.625029877Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.625038796Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.625050515Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427} {"msg":"Crucible 2751ebc6-c3cf-4e7a-af54-72f5c1fd765f has session id: 47163eb7-92e3-4ae6-8cda-e66e6b82400f","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.625429316Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"Upstairs opts: Upstairs UUID: 2751ebc6-c3cf-4e7a-af54-72f5c1fd765f, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.625459902Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"Crucible stats registered with UUID: 2751ebc6-c3cf-4e7a-af54-72f5c1fd765f","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.625471401Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:44:35.62548089Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.625639759Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"":"io task","client":"2","":"downstairs","session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.625660827Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"":"io task","client":"0","":"downstairs","session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.625671575Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"":"io task","client":"1","":"downstairs","session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.6257919Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"task":"crutest"} {"msg":"The guest has requested activation with gen:72","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.625808528Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427} {"msg":"2751ebc6-c3cf-4e7a-af54-72f5c1fd765f active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.625832035Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.625841673Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"client":"0","":"downstairs","session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.625851872Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"client":"1","":"downstairs","session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.625861841Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"client":"2","":"downstairs","session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.62587158Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"":"io task","client":"2","":"downstairs","session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.625885688Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"":"io task","client":"1","":"downstairs","session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.625895956Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"":"io task","client":"0","":"downstairs","session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"ds_connection connected from Ok(127.0.0.1:50774)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.625958328Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"":"io task","client":"2","":"downstairs","session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"ds_connection connected from Ok(127.0.0.1:39595)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.625994934Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"":"io task","client":"1","":"downstairs","session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"ds_connection connected from Ok(127.0.0.1:56747)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.626005802Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"":"io task","client":"0","":"downstairs","session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.626656109Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"client":"1","":"downstairs","session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.626698134Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"client":"0","":"downstairs","session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.626739278Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"client":"2","":"downstairs","session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.62703457Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.627046579Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"[0]R flush_numbers[0..12]: [109, 94, 106, 110, 105, 106, 106, 108, 106, 108, 108, 99]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.627086164Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"":"downstairs","":"downstairs","session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"[0]R generation[0..12]: [70, 63, 69, 71, 68, 69, 69, 70, 69, 70, 70, 66]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.627097462Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"":"downstairs","":"downstairs","session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.627108621Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"":"downstairs","":"downstairs","session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"[1]R flush_numbers[0..12]: [109, 94, 106, 110, 105, 106, 106, 108, 106, 108, 108, 99]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.627119429Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"":"downstairs","":"downstairs","session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"[1]R generation[0..12]: [70, 63, 69, 71, 68, 69, 69, 70, 69, 70, 70, 66]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.627129908Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"":"downstairs","":"downstairs","session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.627140927Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"":"downstairs","":"downstairs","session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"[2]R flush_numbers[0..12]: [109, 94, 106, 110, 105, 106, 106, 108, 106, 108, 108, 99]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.627151475Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"":"downstairs","":"downstairs","session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"[2]R generation[0..12]: [70, 63, 69, 71, 68, 69, 69, 70, 69, 70, 70, 66]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.627161834Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"":"downstairs","":"downstairs","session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.627172883Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"":"downstairs","":"downstairs","session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"Max found gen is 72","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.627182401Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"":"downstairs","":"downstairs","session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"Generation requested: 72 >= found:72","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.62719246Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"":"downstairs","":"downstairs","session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"Next flush: 111","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.627202009Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"":"downstairs","":"downstairs","session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.627211468Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"":"downstairs","":"downstairs","session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.627221286Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.627231465Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"client":"0","":"downstairs","session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.627241324Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"client":"1","":"downstairs","session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.627251143Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"client":"2","":"downstairs","session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.627261171Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.6272705Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"2751ebc6-c3cf-4e7a-af54-72f5c1fd765f is now active with session: 47163eb7-92e3-4ae6-8cda-e66e6b82400f","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.627280649Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.627289528Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"session_id":"47163eb7-92e3-4ae6-8cda-e66e6b82400f"} {"msg":"The guest has finished waiting for activation with:72","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.627298687Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427} {"msg":"Activated sub_volume 2751ebc6-c3cf-4e7a-af54-72f5c1fd765f","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.627307055Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.627315404Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.627647142Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"task":"crutest"} 01/30 Write block 341 len 36864 data: 7 6 7 7 8 9 9 8 8 02/30 Write block 436 len 20480 data: 4 4 4 4 4 03/30 Read block 480 len 16384 04/30 Write block 32 len 16384 data: 6 8 9 7 05/30 Read block 321 len 32768 06/30 Read block 18 len 28672 07/30 Flush 08/30 Write block 344 len 4096 data: 8 09/30 Write block 83 len 24576 data: 4 4 4 5 7 8 10/30 Write block 433 len 28672 data: 6 6 5 5 5 5 5 11/30 Write block 197 len 24576 data: 7 6 6 6 6 7 12/30 Read block 532 len 20480 13/30 Read block 451 len 36864 14/30 Read block 47 len 28672 15/30 Read block 249 len 12288 16/30 Write block 56 len 24576 data: 7 7 9 8 8 9 17/30 Write block 188 len 36864 data: 6 7 8 7 8 8 6 7 7 18/30 Read block 228 len 40960 19/30 Write block 68 len 4096 data: 6 20/30 Flush 21/30 Write block 26 len 36864 data: 4 5 7 6 6 8 7 9 10 22/30 Write block 155 len 4096 data: 7 23/30 Write block 221 len 28672 data: 8 10 10 11 11 11 9 24/30 Read block 486 len 12288 25/30 Read block 439 len 32768 26/30 Read block 224 len 4096 27/30 Read block 0 len 12288 28/30 Read block 177 len 24576 29/30 Read block 111 len 12288 30/30 Read block 78 len 24576 ---------------------------------------------------------------- Crucible gen:72 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 9 Done Done Sent false 1001 Acked Write 5 Done Done Sent false 1002 Acked Read 4 Done Done Sent false 1003 Acked Write 4 Done Done Sent false 1004 Acked Read 8 Done Done Sent false 1005 Acked Read 7 Done Done Sent false 1006 Acked Flush 0 Done Done Sent false 1007 Acked Write 1 Done Done Sent false 1008 Acked Write 6 Done Done Sent false 1009 Acked Write 7 Done Done Sent false 1010 Acked Write 6 Done Done Sent false 1011 Acked Read 5 Done Done Sent false 1012 Acked Read 9 Done Done Sent false 1013 Acked Read 7 Done Done Sent false 1014 Acked Read 3 Done Done Sent false 1015 Acked Write 6 Done Done Sent false 1016 Acked Write 9 Done Done Sent false 1017 Acked Read 10 Done Done Sent false 1018 Acked Write 1 Done Done Sent false 1019 Acked Flush 0 Done Done Sent false 1020 Acked Write 9 Done Done Sent false 1021 Acked Write 1 Done Done Sent false 1022 Acked Write 7 Done Done Sent false 1023 Acked Read 3 Done Done Sent false 1024 Acked Read 8 Done Done Sent false 1025 Acked Read 1 Done Done Sent false 1026 Acked Read 3 Done Done Sent false 1027 Acked Read 6 Done Done Sent false 1028 Acked Read 3 Done Done Sent false 1029 Acked Read 6 Sent Done Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 1 0 30 31 Done 29 30 0 59 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1019)) Some(JobId(1019)) None Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:44:35.635837042Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:35.636119265Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1427,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 70 70 70 109 109 109 F F F 1 020-039 72 72 63 111 111 94 T T F <--- 2 040-059 72 72 69 112 112 106 F F F <--- 3 060-079 72 72 71 112 112 110 F F F <--- 4 080-099 72 72 68 112 112 105 F F F <--- 5 100-119 69 69 69 106 106 106 F F F 6 120-139 69 69 69 106 106 106 F F F 7 140-159 70 70 70 108 108 108 T T F <--- 8 160-179 69 69 69 106 106 106 F F F 9 180-199 72 72 70 112 112 108 F F F <--- 10 200-219 72 72 70 112 112 108 F F F <--- 11 220-239 66 66 66 99 99 99 T T F <--- 12 240-259 64 64 64 96 96 96 F F F 13 260-279 63 63 63 94 94 94 F F F 14 280-299 68 68 68 102 102 102 F F F 15 300-319 68 68 68 105 105 105 F F F 16 320-339 70 70 70 109 109 109 F F F 17 340-359 72 72 65 112 112 98 F F F <--- 18 360-379 70 70 70 108 108 108 F F F 19 380-399 70 70 70 108 108 108 F F F 20 400-419 68 68 68 103 103 103 F F F 21 420-439 72 72 64 112 112 95 F F F <--- 22 440-459 72 72 65 111 111 98 F F F <--- 23 460-479 57 57 57 82 82 82 F F F 24 480-499 71 71 71 110 110 110 F F F 25 500-519 70 70 70 109 109 109 F F F 26 520-539 70 70 70 109 109 109 F F F 27 540-559 66 66 66 99 99 99 F F F 28 560-579 64 64 64 97 97 97 F F F 29 580-599 70 70 70 107 107 107 F F F Max gen: 72, Max flush: 112 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 36 Verifying data now No change after verify Loop: 36 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 70 70 70 109 109 109 F F F 1 020-039 73 73 73 113 113 113 F F F 2 040-059 72 72 72 112 112 112 F F F 3 060-079 72 72 72 112 112 112 F F F 4 080-099 72 72 72 112 112 112 F F F 5 100-119 69 69 69 106 106 106 F F F 6 120-139 69 69 69 106 106 106 F F F 7 140-159 73 73 73 113 113 113 F F F 8 160-179 69 69 69 106 106 106 F F F 9 180-199 72 72 72 112 112 112 F F F 10 200-219 72 72 72 112 112 112 F F F 11 220-239 73 73 73 113 113 113 F F F 12 240-259 64 64 64 96 96 96 F F F 13 260-279 63 63 63 94 94 94 F F F 14 280-299 68 68 68 102 102 102 F F F 15 300-319 68 68 68 105 105 105 F F F 16 320-339 70 70 70 109 109 109 F F F 17 340-359 72 72 72 112 112 112 F F F 18 360-379 70 70 70 108 108 108 F F F 19 380-399 70 70 70 108 108 108 F F F 20 400-419 68 68 68 103 103 103 F F F 21 420-439 72 72 72 112 112 112 F F F 22 440-459 72 72 72 111 111 111 F F F 23 460-479 57 57 57 82 82 82 F F F 24 480-499 71 71 71 110 110 110 F F F 25 500-519 70 70 70 109 109 109 F F F 26 520-539 70 70 70 109 109 109 F F F 27 540-559 66 66 66 99 99 99 F F F 28 560-579 64 64 64 97 97 97 F F F 29 580-599 70 70 70 107 107 107 F F F Max gen: 73, Max flush: 113 Begin loop 37 Downstairs to restart: 1 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.869468628Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.877947101Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.878292996Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.878321293Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.878329922Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.87834161Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435} {"msg":"Crucible b9d5b35f-6aee-4ec8-b4af-d2e812ae5ff3 has session id: 3ee4849e-5d30-4387-bebd-fd70e3342495","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.878713472Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"Upstairs opts: Upstairs UUID: b9d5b35f-6aee-4ec8-b4af-d2e812ae5ff3, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.878742679Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"Crucible stats registered with UUID: b9d5b35f-6aee-4ec8-b4af-d2e812ae5ff3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.878753407Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:44:39.878763126Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.878927405Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"":"io task","client":"2","":"downstairs","session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.878944623Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"":"io task","client":"0","":"downstairs","session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.878955121Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"":"io task","client":"1","":"downstairs","session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.879078156Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"task":"crutest"} {"msg":"The guest has requested activation with gen:74","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.879106012Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435} {"msg":"b9d5b35f-6aee-4ec8-b4af-d2e812ae5ff3 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.87912424Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.879133538Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"client":"0","":"downstairs","session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.879143547Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"client":"1","":"downstairs","session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.879153476Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"client":"2","":"downstairs","session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.879163315Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"":"io task","client":"2","":"downstairs","session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.879182652Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"":"io task","client":"1","":"downstairs","session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"ds_connection connected from Ok(127.0.0.1:34597)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.879239455Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"":"io task","client":"2","":"downstairs","session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.879254343Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"":"io task","client":"0","":"downstairs","session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"ds_connection connected from Ok(127.0.0.1:54822)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.879264882Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"":"io task","client":"1","":"downstairs","session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"ds_connection connected from Ok(127.0.0.1:50142)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.879398454Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"":"io task","client":"0","":"downstairs","session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.879924797Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"client":"0","":"downstairs","session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.879939875Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"client":"2","":"downstairs","session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.879952473Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"client":"1","":"downstairs","session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.880252735Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.880262424Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"[0]R flush_numbers[0..12]: [109, 113, 112, 112, 112, 106, 106, 113, 106, 112, 112, 113]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.880302499Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"":"downstairs","":"downstairs","session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"[0]R generation[0..12]: [70, 73, 72, 72, 72, 69, 69, 73, 69, 72, 72, 73]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.880313967Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"":"downstairs","":"downstairs","session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.880325106Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"":"downstairs","":"downstairs","session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"[1]R flush_numbers[0..12]: [109, 113, 112, 112, 112, 106, 106, 113, 106, 112, 112, 113]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.880335994Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"":"downstairs","":"downstairs","session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"[1]R generation[0..12]: [70, 73, 72, 72, 72, 69, 69, 73, 69, 72, 72, 73]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.880346573Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"":"downstairs","":"downstairs","session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.880357641Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"":"downstairs","":"downstairs","session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"[2]R flush_numbers[0..12]: [109, 113, 112, 112, 112, 106, 106, 113, 106, 112, 112, 113]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.8803684Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"":"downstairs","":"downstairs","session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"[2]R generation[0..12]: [70, 73, 72, 72, 72, 69, 69, 73, 69, 72, 72, 73]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.880379139Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"":"downstairs","":"downstairs","session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.880390087Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"":"downstairs","":"downstairs","session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"Max found gen is 74","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.880399736Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"":"downstairs","":"downstairs","session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"Generation requested: 74 >= found:74","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.880409625Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"":"downstairs","":"downstairs","session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"Next flush: 114","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.880420863Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"":"downstairs","":"downstairs","session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.880430552Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"":"downstairs","":"downstairs","session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.880440751Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.88044991Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"client":"0","":"downstairs","session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.880459888Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"client":"1","":"downstairs","session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.880469627Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"client":"2","":"downstairs","session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.880479656Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.880488935Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"b9d5b35f-6aee-4ec8-b4af-d2e812ae5ff3 is now active with session: 3ee4849e-5d30-4387-bebd-fd70e3342495","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.880499193Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.880508242Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"session_id":"3ee4849e-5d30-4387-bebd-fd70e3342495"} {"msg":"The guest has finished waiting for activation with:74","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.880517541Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435} {"msg":"Activated sub_volume b9d5b35f-6aee-4ec8-b4af-d2e812ae5ff3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.88052566Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.880533939Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.880888183Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"task":"crutest"} 01/30 Write block 203 len 12288 data: 8 5 5 02/30 Read block 339 len 24576 03/30 Write block 429 len 24576 data: 6 7 6 6 7 7 04/30 Read block 0 len 12288 05/30 Write block 247 len 16384 data: 5 5 6 6 06/30 Write block 458 len 28672 data: 7 3 6 6 7 7 6 07/30 Read block 182 len 12288 08/30 Read block 234 len 40960 09/30 Read block 479 len 32768 10/30 Read block 305 len 4096 11/30 Read block 296 len 8192 12/30 Read block 314 len 40960 13/30 Write block 192 len 28672 data: 9 9 7 8 8 8 7 14/30 Write block 492 len 8192 data: 5 5 15/30 Read block 579 len 40960 16/30 Read block 19 len 8192 17/30 Read block 404 len 12288 18/30 Read block 588 len 36864 19/30 Write block 554 len 32768 data: 7 6 7 7 8 7 6 3 20/30 Read block 546 len 16384 21/30 Write block 324 len 4096 data: 12 22/30 Read block 485 len 36864 23/30 Write block 93 len 12288 data: 9 8 7 24/30 Read block 496 len 16384 25/30 Read block 316 len 16384 26/30 Flush 27/30 Write block 29 len 20480 data: 7 7 9 8 10 28/30 Read block 118 len 32768 29/30 Write block 315 len 8192 data: 4 4 30/30 Write block 8 len 24576 data: 9 10 8 8 8 7 ---------------------------------------------------------------- Crucible gen:74 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 3 Done Done Done false 1001 Acked Read 6 Done Done Done false 1002 Acked Write 6 Done Done Done false 1003 Acked Read 3 Done Sent Done false 1004 Acked Write 4 Done Sent Done false 1005 Acked Write 7 Done Sent Done false 1006 Acked Read 3 Done Sent Done false 1007 Acked Read 10 Done Sent Done false 1008 Acked Read 8 Done Sent Done false 1009 Acked Read 1 Done Sent Done false 1010 Acked Read 2 Done Sent Done false 1011 Acked Read 10 Done Sent Done false 1012 Acked Write 7 Done Sent Done false 1013 Acked Write 2 Done Sent Done false 1014 Acked Read 10 Done Sent Done false 1015 Acked Read 2 Done Sent Done false 1016 Acked Read 3 Done Sent Done false 1017 Acked Read 9 Done Sent Done false 1018 Acked Write 8 Done Sent Done false 1019 Acked Read 4 Done Sent Done false 1020 Acked Write 1 Done Sent Done false 1021 Acked Read 9 Done Sent Done false 1022 Acked Write 3 Done Sent Done false 1023 Acked Read 4 Done Sent Done false 1024 Acked Read 4 Done Sent Done false 1025 Acked Flush 0 Done Sent Done false 1026 Acked Write 5 Done Sent Done false 1027 Acked Read 8 Done Sent Done false 1028 Acked Write 2 Sent Sent Sent false 1029 Acked Write 6 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 2 27 2 31 Done 28 3 28 59 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1025)) None Some(JobId(1025)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:44:39.889459234Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:39.889731129Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1435,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 70 70 70 109 109 109 T F T <--- 1 020-039 73 73 73 113 113 113 T F T <--- 2 040-059 72 72 72 112 112 112 F F F 3 060-079 72 72 72 112 112 112 F F F 4 080-099 74 72 74 114 112 114 F F F <--- 5 100-119 69 69 69 106 106 106 F F F 6 120-139 69 69 69 106 106 106 F F F 7 140-159 73 73 73 113 113 113 F F F 8 160-179 69 69 69 106 106 106 F F F 9 180-199 74 72 74 114 112 114 F F F <--- 10 200-219 74 72 74 114 112 114 F T F <--- 11 220-239 73 73 73 113 113 113 F F F 12 240-259 74 64 74 114 96 114 F F F <--- 13 260-279 63 63 63 94 94 94 F F F 14 280-299 68 68 68 102 102 102 F F F 15 300-319 68 68 68 105 105 105 T F T <--- 16 320-339 74 70 74 114 109 114 F F F <--- 17 340-359 72 72 72 112 112 112 F F F 18 360-379 70 70 70 108 108 108 F F F 19 380-399 70 70 70 108 108 108 F F F 20 400-419 68 68 68 103 103 103 F F F 21 420-439 74 72 74 114 112 114 F T F <--- 22 440-459 74 72 74 114 111 114 F F F <--- 23 460-479 74 57 74 114 82 114 F F F <--- 24 480-499 74 71 74 114 110 114 F F F <--- 25 500-519 70 70 70 109 109 109 F F F 26 520-539 70 70 70 109 109 109 F F F 27 540-559 74 66 74 114 99 114 F F F <--- 28 560-579 74 64 74 114 97 114 F F F <--- 29 580-599 70 70 70 107 107 107 F F F Max gen: 74, Max flush: 114 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 37 Verifying data now No change after verify Loop: 37 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 75 75 75 115 115 115 F F F 1 020-039 75 75 75 115 115 115 F F F 2 040-059 72 72 72 112 112 112 F F F 3 060-079 72 72 72 112 112 112 F F F 4 080-099 74 74 74 114 114 114 F F F 5 100-119 69 69 69 106 106 106 F F F 6 120-139 69 69 69 106 106 106 F F F 7 140-159 73 73 73 113 113 113 F F F 8 160-179 69 69 69 106 106 106 F F F 9 180-199 74 74 74 114 114 114 F F F 10 200-219 74 74 74 114 114 114 F F F 11 220-239 73 73 73 113 113 113 F F F 12 240-259 74 74 74 114 114 114 F F F 13 260-279 63 63 63 94 94 94 F F F 14 280-299 68 68 68 102 102 102 F F F 15 300-319 75 75 75 115 115 115 F F F 16 320-339 74 74 74 114 114 114 F F F 17 340-359 72 72 72 112 112 112 F F F 18 360-379 70 70 70 108 108 108 F F F 19 380-399 70 70 70 108 108 108 F F F 20 400-419 68 68 68 103 103 103 F F F 21 420-439 74 74 74 114 114 114 F F F 22 440-459 74 74 74 114 114 114 F F F 23 460-479 74 74 74 114 114 114 F F F 24 480-499 74 74 74 114 114 114 F F F 25 500-519 70 70 70 109 109 109 F F F 26 520-539 70 70 70 109 109 109 F F F 27 540-559 74 74 74 114 114 114 F F F 28 560-579 74 74 74 114 114 114 F F F 29 580-599 70 70 70 107 107 107 F F F Max gen: 75, Max flush: 115 Begin loop 38 Downstairs to restart: 2 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.136960932Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.145070572Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.145379983Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.145405559Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.145414488Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.145426117Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443} {"msg":"Crucible a59507a2-cd87-4747-8140-2eb9e1cc5349 has session id: 423e0b07-4c92-479f-a0ca-f0ce88800072","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.145815117Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"Upstairs opts: Upstairs UUID: a59507a2-cd87-4747-8140-2eb9e1cc5349, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.145843293Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"Crucible stats registered with UUID: a59507a2-cd87-4747-8140-2eb9e1cc5349","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.145854092Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:44:44.14586578Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.146016741Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"":"io task","client":"1","":"downstairs","session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.146032469Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"":"io task","client":"0","":"downstairs","session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.146042828Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"":"io task","client":"2","":"downstairs","session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.146198878Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"task":"crutest"} {"msg":"The guest has requested activation with gen:76","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.146222825Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443} {"msg":"a59507a2-cd87-4747-8140-2eb9e1cc5349 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.146246522Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.14625604Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"client":"0","":"downstairs","session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.146265999Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"client":"1","":"downstairs","session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.146275848Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"client":"2","":"downstairs","session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.146285707Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"":"io task","client":"2","":"downstairs","session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.146295945Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"":"io task","client":"0","":"downstairs","session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.146305874Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"":"io task","client":"1","":"downstairs","session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"ds_connection connected from Ok(127.0.0.1:58967)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.146351458Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"":"io task","client":"0","":"downstairs","session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"ds_connection connected from Ok(127.0.0.1:59519)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.146370396Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"":"io task","client":"1","":"downstairs","session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"ds_connection connected from Ok(127.0.0.1:63411)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.146386484Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"":"io task","client":"2","":"downstairs","session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.147016553Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"client":"1","":"downstairs","session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.14704249Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"client":"0","":"downstairs","session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.147054398Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"client":"2","":"downstairs","session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.147329793Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.147339491Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"[0]R flush_numbers[0..12]: [115, 115, 112, 112, 114, 106, 106, 113, 106, 114, 114, 113]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.147358429Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"":"downstairs","":"downstairs","session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"[0]R generation[0..12]: [75, 75, 72, 72, 74, 69, 69, 73, 69, 74, 74, 73]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.147369098Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"":"downstairs","":"downstairs","session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.147380036Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"":"downstairs","":"downstairs","session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"[1]R flush_numbers[0..12]: [115, 115, 112, 112, 114, 106, 106, 113, 106, 114, 114, 113]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.147390735Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"":"downstairs","":"downstairs","session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"[1]R generation[0..12]: [75, 75, 72, 72, 74, 69, 69, 73, 69, 74, 74, 73]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.147401134Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"":"downstairs","":"downstairs","session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.147412092Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"":"downstairs","":"downstairs","session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"[2]R flush_numbers[0..12]: [115, 115, 112, 112, 114, 106, 106, 113, 106, 114, 114, 113]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.147422731Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"":"downstairs","":"downstairs","session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"[2]R generation[0..12]: [75, 75, 72, 72, 74, 69, 69, 73, 69, 74, 74, 73]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.147433129Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"":"downstairs","":"downstairs","session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.147444238Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"":"downstairs","":"downstairs","session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"Max found gen is 76","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.147456037Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"":"downstairs","":"downstairs","session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"Generation requested: 76 >= found:76","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.147465865Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"":"downstairs","":"downstairs","session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"Next flush: 116","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.147475434Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"":"downstairs","":"downstairs","session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.147484933Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"":"downstairs","":"downstairs","session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.147494872Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.14750377Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"client":"0","":"downstairs","session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.147513529Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"client":"1","":"downstairs","session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.147523458Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"client":"2","":"downstairs","session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.147533367Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.147542775Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"a59507a2-cd87-4747-8140-2eb9e1cc5349 is now active with session: 423e0b07-4c92-479f-a0ca-f0ce88800072","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.147552774Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.147561823Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"session_id":"423e0b07-4c92-479f-a0ca-f0ce88800072"} {"msg":"The guest has finished waiting for activation with:76","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.147570982Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443} {"msg":"Activated sub_volume a59507a2-cd87-4747-8140-2eb9e1cc5349","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.147579311Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.14758766Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.147939605Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"task":"crutest"} 01/30 Write block 343 len 16384 data: 8 9 9 10 02/30 Write block 577 len 40960 data: 11 10 9 8 8 8 9 7 7 7 03/30 Write block 128 len 16384 data: 4 6 7 7 04/30 Read block 128 len 40960 05/30 Read block 412 len 28672 06/30 Read block 19 len 16384 07/30 Write block 418 len 24576 data: 7 9 8 10 8 11 08/30 Read block 107 len 20480 09/30 Read block 339 len 32768 10/30 Read block 317 len 36864 11/30 Write block 283 len 28672 data: 7 8 10 10 10 11 10 12/30 Read block 574 len 4096 13/30 Write block 55 len 36864 data: 4 8 8 10 9 9 10 9 9 14/30 Flush 15/30 Write block 34 len 20480 data: 11 8 7 6 7 16/30 Write block 328 len 16384 data: 6 8 7 6 17/30 Read block 330 len 32768 18/30 Flush 19/30 Write block 189 len 24576 data: 8 9 8 10 10 8 20/30 Write block 182 len 32768 data: 8 6 4 5 6 6 7 9 21/30 Read block 276 len 20480 22/30 Write block 255 len 32768 data: 5 4 4 4 4 3 3 3 23/30 Write block 584 len 4096 data: 8 24/30 Write block 545 len 40960 data: 9 7 9 8 9 8 7 6 8 8 25/30 Write block 220 len 16384 data: 6 9 11 11 26/30 Read block 542 len 28672 27/30 Write block 231 len 40960 data: 8 7 7 7 10 8 7 6 7 8 28/30 Write block 559 len 8192 data: 8 7 29/30 Read block 513 len 32768 30/30 Write block 22 len 20480 data: 5 6 5 3 5 ---------------------------------------------------------------- Crucible gen:76 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 4 Done Done Done false 1001 Acked Write 10 Done Done Done false 1002 Acked Write 4 Done Done Sent false 1003 Acked Read 10 Done Done Sent false 1004 Acked Read 7 Done Done Sent false 1005 Acked Read 4 Done Done Sent false 1006 Acked Write 6 Done Done Sent false 1007 Acked Read 5 Done Done Sent false 1008 Acked Read 8 Done Done Sent false 1009 Acked Read 9 Done Done Sent false 1010 Acked Write 7 Done Done Sent false 1011 Acked Read 1 Done Done Sent false 1012 Acked Write 9 Done Done Sent false 1013 Acked Flush 0 Done Done Sent false 1014 Acked Write 5 Done Done Sent false 1015 Acked Write 4 Done Done Sent false 1016 Acked Read 8 Done Done Sent false 1017 Acked Flush 0 Done Done Sent false 1018 Acked Write 6 Done Done Sent false 1019 Acked Write 8 Done Done Sent false 1020 Acked Read 5 Done Done Sent false 1021 Acked Write 8 Done Done Sent false 1022 Acked Write 1 Done Done Sent false 1023 Acked Write 10 Done Done Sent false 1024 Acked Write 4 Done Done Sent false 1025 Acked Read 7 Done Done Sent false 1026 Acked Write 10 Done Done Sent false 1027 Acked Write 2 Done Done Sent false 1028 Acked Read 8 Done Done Sent false 1029 Acked Write 5 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 1 1 28 30 Done 29 29 2 60 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1017)) Some(JobId(1017)) None Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:44:44.155936809Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:44.156211164Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1443,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 75 75 75 115 115 115 F F F 1 020-039 76 76 75 117 117 115 T T F <--- 2 040-059 76 76 72 116 116 112 F F F <--- 3 060-079 76 76 72 116 116 112 F F F <--- 4 080-099 74 74 74 114 114 114 F F F 5 100-119 69 69 69 106 106 106 F F F 6 120-139 76 76 69 116 116 106 F F F <--- 7 140-159 73 73 73 113 113 113 F F F 8 160-179 69 69 69 106 106 106 F F F 9 180-199 74 74 74 114 114 114 T T F <--- 10 200-219 74 74 74 114 114 114 F F F 11 220-239 73 73 73 113 113 113 T T F <--- 12 240-259 74 74 74 114 114 114 T T F <--- 13 260-279 63 63 63 94 94 94 T T F <--- 14 280-299 76 76 68 116 116 102 F F F <--- 15 300-319 75 75 75 115 115 115 F F F 16 320-339 76 76 74 117 117 114 F F F <--- 17 340-359 76 76 72 116 116 112 F F T <--- 18 360-379 70 70 70 108 108 108 F F F 19 380-399 70 70 70 108 108 108 F F F 20 400-419 76 76 68 116 116 103 F F F <--- 21 420-439 76 76 74 116 116 114 F F F <--- 22 440-459 74 74 74 114 114 114 F F F 23 460-479 74 74 74 114 114 114 F F F 24 480-499 74 74 74 114 114 114 F F F 25 500-519 70 70 70 109 109 109 F F F 26 520-539 70 70 70 109 109 109 F F F 27 540-559 74 74 74 114 114 114 T T F <--- 28 560-579 76 76 74 116 116 114 T T T <--- 29 580-599 76 76 70 116 116 107 T T T <--- Max gen: 76, Max flush: 117 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 38 Verifying data now No change after verify Loop: 38 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 75 75 75 115 115 115 F F F 1 020-039 77 77 77 118 118 118 F F F 2 040-059 76 76 76 116 116 116 F F F 3 060-079 76 76 76 116 116 116 F F F 4 080-099 74 74 74 114 114 114 F F F 5 100-119 69 69 69 106 106 106 F F F 6 120-139 76 76 76 116 116 116 F F F 7 140-159 73 73 73 113 113 113 F F F 8 160-179 69 69 69 106 106 106 F F F 9 180-199 77 77 77 118 118 118 F F F 10 200-219 74 74 74 114 114 114 F F F 11 220-239 77 77 77 118 118 118 F F F 12 240-259 77 77 77 118 118 118 F F F 13 260-279 77 77 77 118 118 118 F F F 14 280-299 76 76 76 116 116 116 F F F 15 300-319 75 75 75 115 115 115 F F F 16 320-339 76 76 76 117 117 117 F F F 17 340-359 76 76 76 116 116 116 F F F 18 360-379 70 70 70 108 108 108 F F F 19 380-399 70 70 70 108 108 108 F F F 20 400-419 76 76 76 116 116 116 F F F 21 420-439 76 76 76 116 116 116 F F F 22 440-459 74 74 74 114 114 114 F F F 23 460-479 74 74 74 114 114 114 F F F 24 480-499 74 74 74 114 114 114 F F F 25 500-519 70 70 70 109 109 109 F F F 26 520-539 70 70 70 109 109 109 F F F 27 540-559 77 77 77 118 118 118 F F F 28 560-579 77 77 77 118 118 118 F F F 29 580-599 77 77 77 118 118 118 F F F Max gen: 77, Max flush: 118 Begin loop 39 Downstairs to restart: 1 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.410496592Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.418554108Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.418864969Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.418902794Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.418912063Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.418923691Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451} {"msg":"Crucible d1bbbdad-515a-49db-b5cc-a95438883248 has session id: e12747af-5e3a-42b2-80c6-9d576313659f","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.419260238Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"Upstairs opts: Upstairs UUID: d1bbbdad-515a-49db-b5cc-a95438883248, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.419289454Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"Crucible stats registered with UUID: d1bbbdad-515a-49db-b5cc-a95438883248","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.419300523Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:44:48.419309852Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.419452143Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"":"io task","client":"2","":"downstairs","session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.419467791Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"":"io task","client":"0","":"downstairs","session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.41947815Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"":"io task","client":"1","":"downstairs","session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.419622132Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"task":"crutest"} {"msg":"The guest has requested activation with gen:78","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.419646098Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451} {"msg":"d1bbbdad-515a-49db-b5cc-a95438883248 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.419656267Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.419665166Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"client":"0","":"downstairs","session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.419675125Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"client":"1","":"downstairs","session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.419684963Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"client":"2","":"downstairs","session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.419694802Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"":"io task","client":"2","":"downstairs","session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.419705091Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"":"io task","client":"0","":"downstairs","session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.41971535Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"":"io task","client":"1","":"downstairs","session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"ds_connection connected from Ok(127.0.0.1:59157)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.419798889Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"":"io task","client":"2","":"downstairs","session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"ds_connection connected from Ok(127.0.0.1:45531)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.419887358Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"":"io task","client":"1","":"downstairs","session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"ds_connection connected from Ok(127.0.0.1:64523)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.419907395Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"":"io task","client":"0","":"downstairs","session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.420463734Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"client":"1","":"downstairs","session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.420507648Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"client":"2","":"downstairs","session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.420519856Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"client":"0","":"downstairs","session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.420738728Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.420779053Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"[0]R flush_numbers[0..12]: [115, 118, 116, 116, 114, 106, 116, 113, 106, 118, 114, 118]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.420914786Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"":"downstairs","":"downstairs","session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"[0]R generation[0..12]: [75, 77, 76, 76, 74, 69, 76, 73, 69, 77, 74, 77]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.420926154Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"":"downstairs","":"downstairs","session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.420937483Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"":"downstairs","":"downstairs","session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"[1]R flush_numbers[0..12]: [115, 118, 116, 116, 114, 106, 116, 113, 106, 118, 114, 118]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.420948271Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"":"downstairs","":"downstairs","session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"[1]R generation[0..12]: [75, 77, 76, 76, 74, 69, 76, 73, 69, 77, 74, 77]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.42095869Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"":"downstairs","":"downstairs","session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.420969969Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"":"downstairs","":"downstairs","session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"[2]R flush_numbers[0..12]: [115, 118, 116, 116, 114, 106, 116, 113, 106, 118, 114, 118]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.420983217Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"":"downstairs","":"downstairs","session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"[2]R generation[0..12]: [75, 77, 76, 76, 74, 69, 76, 73, 69, 77, 74, 77]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.420993756Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"":"downstairs","":"downstairs","session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.421005074Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"":"downstairs","":"downstairs","session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"Max found gen is 78","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.421014793Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"":"downstairs","":"downstairs","session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"Generation requested: 78 >= found:78","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.421029201Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"":"downstairs","":"downstairs","session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"Next flush: 119","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.42103882Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"":"downstairs","":"downstairs","session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.421048419Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"":"downstairs","":"downstairs","session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.421058417Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.421067426Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"client":"0","":"downstairs","session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.421077295Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"client":"1","":"downstairs","session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.421087074Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"client":"2","":"downstairs","session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.421097032Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.421106351Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"d1bbbdad-515a-49db-b5cc-a95438883248 is now active with session: e12747af-5e3a-42b2-80c6-9d576313659f","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.42111644Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.421125509Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"session_id":"e12747af-5e3a-42b2-80c6-9d576313659f"} {"msg":"The guest has finished waiting for activation with:78","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.421134678Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451} {"msg":"Activated sub_volume d1bbbdad-515a-49db-b5cc-a95438883248","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.421144126Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.421152375Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.421419031Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"task":"crutest"} 01/30 Write block 476 len 12288 data: 9 9 7 02/30 Read block 495 len 8192 03/30 Write block 448 len 32768 data: 4 6 5 6 6 6 6 7 04/30 Read block 156 len 20480 05/30 Write block 322 len 12288 data: 10 12 13 06/30 Write block 133 len 20480 data: 8 5 4 4 4 07/30 Flush 08/30 Write block 501 len 8192 data: 7 8 09/30 Read block 213 len 36864 10/30 Read block 440 len 40960 11/30 Read block 532 len 4096 12/30 Read block 279 len 28672 13/30 Read block 405 len 32768 14/30 Write block 471 len 4096 data: 8 15/30 Read block 205 len 32768 16/30 Read block 162 len 12288 17/30 Write block 164 len 32768 data: 7 7 7 6 4 5 5 5 18/30 Write block 356 len 24576 data: 8 9 9 9 9 9 19/30 Read block 98 len 20480 20/30 Read block 138 len 8192 21/30 Read block 212 len 4096 22/30 Read block 135 len 20480 23/30 Read block 47 len 8192 24/30 Read block 530 len 40960 25/30 Write block 410 len 24576 data: 5 5 4 5 5 4 26/30 Read block 438 len 4096 27/30 Write block 588 len 16384 data: 7 6 6 6 28/30 Read block 395 len 36864 29/30 Read block 212 len 20480 30/30 Read block 365 len 20480 ---------------------------------------------------------------- Crucible gen:78 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 3 Done Done Done false 1001 Acked Read 2 Done Done Done false 1002 Acked Write 8 Done Done Done false 1003 Acked Read 5 Done Done Done false 1004 Acked Write 3 Done Done Done false 1005 Acked Write 5 Done Sent Done false 1006 Acked Flush 0 Done Sent Done false 1007 Acked Write 2 Done Sent Done false 1008 Acked Read 9 Done Sent Done false 1009 Acked Read 10 Done Sent Done false 1010 Acked Read 1 Done Sent Done false 1011 Acked Read 7 Done Sent Done false 1012 Acked Read 8 Done Sent Done false 1013 Acked Write 1 Done Sent Done false 1014 Acked Read 8 Done Sent Done false 1015 Acked Read 3 Done Sent Done false 1016 Acked Write 8 Done Sent Done false 1017 Acked Write 6 Done Sent Done false 1018 Acked Read 5 Done Sent Done false 1019 Acked Read 2 Done Sent Done false 1020 Acked Read 1 Done Sent Done false 1021 Acked Read 5 Done Sent Done false 1022 Acked Read 2 Done Sent Done false 1023 Acked Read 10 Done Sent Done false 1024 Acked Write 6 Done Sent Done false 1025 Acked Read 1 Done Sent Done false 1026 Acked Write 4 Done Sent Done false 1027 Acked Read 9 Done Sent Done false 1028 Acked Read 5 Done Sent Done false 1029 Acked Read 5 Done Sent Done false STATES DS:0 DS:1 DS:2 TOTAL Sent 0 25 0 25 Done 30 5 30 65 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1006)) None Some(JobId(1006)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:44:48.429482977Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:48.429753842Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1451,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 75 75 75 115 115 115 F F F 1 020-039 77 77 77 118 118 118 F F F 2 040-059 76 76 76 116 116 116 F F F 3 060-079 76 76 76 116 116 116 F F F 4 080-099 74 74 74 114 114 114 F F F 5 100-119 69 69 69 106 106 106 F F F 6 120-139 78 76 78 119 116 119 F F F <--- 7 140-159 73 73 73 113 113 113 F F F 8 160-179 69 69 69 106 106 106 T F T <--- 9 180-199 77 77 77 118 118 118 F F F 10 200-219 74 74 74 114 114 114 F F F 11 220-239 77 77 77 118 118 118 F F F 12 240-259 77 77 77 118 118 118 F F F 13 260-279 77 77 77 118 118 118 F F F 14 280-299 76 76 76 116 116 116 F F F 15 300-319 75 75 75 115 115 115 F F F 16 320-339 78 76 78 119 117 119 F T F <--- 17 340-359 76 76 76 116 116 116 T F T <--- 18 360-379 70 70 70 108 108 108 T F T <--- 19 380-399 70 70 70 108 108 108 F F F 20 400-419 76 76 76 116 116 116 T F T <--- 21 420-439 76 76 76 116 116 116 F F F 22 440-459 78 74 78 119 114 119 F T F <--- 23 460-479 78 74 78 119 114 119 T T T <--- 24 480-499 74 74 74 114 114 114 F F F 25 500-519 70 70 70 109 109 109 T F T <--- 26 520-539 70 70 70 109 109 109 F F F 27 540-559 77 77 77 118 118 118 F F F 28 560-579 77 77 77 118 118 118 F F F 29 580-599 77 77 77 118 118 118 T F T <--- Max gen: 78, Max flush: 119 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 39 Verifying data now No change after verify Loop: 39 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 75 75 75 115 115 115 F F F 1 020-039 77 77 77 118 118 118 F F F 2 040-059 76 76 76 116 116 116 F F F 3 060-079 76 76 76 116 116 116 F F F 4 080-099 74 74 74 114 114 114 F F F 5 100-119 69 69 69 106 106 106 F F F 6 120-139 78 78 78 119 119 119 F F F 7 140-159 73 73 73 113 113 113 F F F 8 160-179 79 79 79 120 120 120 F F F 9 180-199 77 77 77 118 118 118 F F F 10 200-219 74 74 74 114 114 114 F F F 11 220-239 77 77 77 118 118 118 F F F 12 240-259 77 77 77 118 118 118 F F F 13 260-279 77 77 77 118 118 118 F F F 14 280-299 76 76 76 116 116 116 F F F 15 300-319 75 75 75 115 115 115 F F F 16 320-339 78 78 78 119 119 119 F F F 17 340-359 79 79 79 120 120 120 F F F 18 360-379 79 79 79 120 120 120 F F F 19 380-399 70 70 70 108 108 108 F F F 20 400-419 79 79 79 120 120 120 F F F 21 420-439 76 76 76 116 116 116 F F F 22 440-459 78 78 78 119 119 119 F F F 23 460-479 79 79 79 120 120 120 F F F 24 480-499 74 74 74 114 114 114 F F F 25 500-519 79 79 79 120 120 120 F F F 26 520-539 70 70 70 109 109 109 F F F 27 540-559 77 77 77 118 118 118 F F F 28 560-579 77 77 77 118 118 118 F F F 29 580-599 79 79 79 120 120 120 F F F Max gen: 79, Max flush: 120 Begin loop 40 Downstairs to restart: 0 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.66750606Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"task":"crutest"} {"msg":"Failed to get info from \"http://127.0.0.1:12810\" Communication Error: error sending request for url (http://127.0.0.1:12810/region-info)","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:44:52.674664722Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"task":"crutest"} {"msg":"look at: http://127.0.0.1:12820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.674739143Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008820, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.681608712Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.681877797Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.681905554Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.681916272Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.681927811Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459} {"msg":"Crucible 04271b07-2ea0-4fe1-b77a-0cb543a49a9b has session id: 8efaa7b7-f59f-4f3c-9f9a-79e444b986e7","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.682287655Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"Upstairs opts: Upstairs UUID: 04271b07-2ea0-4fe1-b77a-0cb543a49a9b, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.682311342Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"Crucible stats registered with UUID: 04271b07-2ea0-4fe1-b77a-0cb543a49a9b","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.682321271Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:44:52.682332929Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.682493938Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"":"io task","client":"0","":"downstairs","session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.682509166Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"":"io task","client":"1","":"downstairs","session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.682519265Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"":"io task","client":"2","":"downstairs","session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.682664137Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"task":"crutest"} {"msg":"The guest has requested activation with gen:80","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.682687914Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459} {"msg":"04271b07-2ea0-4fe1-b77a-0cb543a49a9b active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.68271176Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.682721449Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"client":"0","":"downstairs","session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.682731398Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"client":"1","":"downstairs","session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.682742507Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"client":"2","":"downstairs","session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.682752185Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"":"io task","client":"2","":"downstairs","session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.682764834Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"":"io task","client":"1","":"downstairs","session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.682774982Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"":"io task","client":"0","":"downstairs","session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"ds_connection connected from Ok(127.0.0.1:41287)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.682813847Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"":"io task","client":"2","":"downstairs","session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"ds_connection connected from Ok(127.0.0.1:58093)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.682825006Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"":"io task","client":"1","":"downstairs","session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"ds_connection connected from Ok(127.0.0.1:33908)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.682835495Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"":"io task","client":"0","":"downstairs","session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.68349222Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"client":"2","":"downstairs","session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.683522796Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"client":"1","":"downstairs","session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.683633792Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"client":"0","":"downstairs","session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.683795741Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.683819608Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"[0]R flush_numbers[0..12]: [115, 118, 116, 116, 114, 106, 119, 113, 120, 118, 114, 118]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.683890479Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"":"downstairs","":"downstairs","session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"[0]R generation[0..12]: [75, 77, 76, 76, 74, 69, 78, 73, 79, 77, 74, 77]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.683902188Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"":"downstairs","":"downstairs","session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.683913586Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"":"downstairs","":"downstairs","session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"[1]R flush_numbers[0..12]: [115, 118, 116, 116, 114, 106, 119, 113, 120, 118, 114, 118]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.683926645Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"":"downstairs","":"downstairs","session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"[1]R generation[0..12]: [75, 77, 76, 76, 74, 69, 78, 73, 79, 77, 74, 77]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.683937273Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"":"downstairs","":"downstairs","session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.683948382Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"":"downstairs","":"downstairs","session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"[2]R flush_numbers[0..12]: [115, 118, 116, 116, 114, 106, 119, 113, 120, 118, 114, 118]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.68395925Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"":"downstairs","":"downstairs","session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"[2]R generation[0..12]: [75, 77, 76, 76, 74, 69, 78, 73, 79, 77, 74, 77]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.683970059Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"":"downstairs","":"downstairs","session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.683981198Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"":"downstairs","":"downstairs","session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"Max found gen is 80","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.683990866Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"":"downstairs","":"downstairs","session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"Generation requested: 80 >= found:80","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.684000795Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"":"downstairs","":"downstairs","session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"Next flush: 121","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.684010514Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"":"downstairs","":"downstairs","session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.684020063Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"":"downstairs","":"downstairs","session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.684030141Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.68403915Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"client":"0","":"downstairs","session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.684049019Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"client":"1","":"downstairs","session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.684058998Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"client":"2","":"downstairs","session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.684070526Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.684079875Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"04271b07-2ea0-4fe1-b77a-0cb543a49a9b is now active with session: 8efaa7b7-f59f-4f3c-9f9a-79e444b986e7","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.684089964Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.684098863Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"session_id":"8efaa7b7-f59f-4f3c-9f9a-79e444b986e7"} {"msg":"The guest has finished waiting for activation with:80","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.684108161Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459} {"msg":"Activated sub_volume 04271b07-2ea0-4fe1-b77a-0cb543a49a9b","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.68411629Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.684124659Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.684420561Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"task":"crutest"} 01/30 Write block 498 len 28672 data: 5 6 7 8 9 9 9 02/30 Read block 529 len 28672 03/30 Read block 350 len 8192 04/30 Read block 373 len 28672 05/30 Read block 219 len 16384 06/30 Read block 120 len 4096 07/30 Write block 243 len 24576 data: 7 7 8 8 6 6 08/30 Read block 328 len 36864 09/30 Write block 554 len 40960 data: 9 7 8 8 9 9 8 4 4 5 10/30 Write block 147 len 32768 data: 6 6 6 6 5 4 4 5 11/30 Write block 469 len 40960 data: 7 7 9 8 9 8 7 10 10 8 12/30 Write block 332 len 24576 data: 5 6 5 4 3 4 13/30 Flush 14/30 Write block 555 len 32768 data: 8 9 9 10 10 9 5 5 15/30 Write block 96 len 28672 data: 5 5 7 7 6 6 8 16/30 Write block 511 len 28672 data: 9 8 6 6 5 5 4 17/30 Write block 274 len 40960 data: 5 5 6 6 6 6 7 7 7 8 18/30 Read block 282 len 8192 19/30 Write block 382 len 12288 data: 4 6 6 20/30 Write block 437 len 36864 data: 6 6 6 5 4 5 7 7 6 21/30 Read block 263 len 20480 22/30 Read block 565 len 32768 23/30 Write block 88 len 4096 data: 9 24/30 Write block 479 len 20480 data: 8 6 6 7 8 25/30 Read block 188 len 12288 26/30 Read block 310 len 40960 27/30 Write block 456 len 32768 data: 7 7 8 4 7 7 8 8 28/30 Write block 349 len 36864 data: 9 7 6 5 6 8 8 9 10 29/30 Read block 328 len 16384 30/30 Write block 230 len 8192 data: 9 9 ---------------------------------------------------------------- Crucible gen:80 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 7 Sent Done Done false 1001 Acked Read 7 Sent Done Done false 1002 Acked Read 2 Sent Done Done false 1003 Acked Read 7 Sent Done Done false 1004 Acked Read 4 Sent Done Done false 1005 Acked Read 1 Sent Done Done false 1006 Acked Write 6 Sent Done Done false 1007 Acked Read 9 Sent Done Done false 1008 Acked Write 10 Sent Done Done false 1009 Acked Write 8 Sent Done Done false 1010 Acked Write 10 Sent Done Done false 1011 Acked Write 6 Sent Done Done false 1012 Acked Flush 0 Sent Done Done false 1013 Acked Write 8 Sent Done Done false 1014 Acked Write 7 Sent Done Done false 1015 Acked Write 7 Sent Done Done false 1016 Acked Write 10 Sent Done Done false 1017 Acked Read 2 Sent Done Done false 1018 Acked Write 3 Sent Done Done false 1019 Acked Write 9 Sent Done Done false 1020 Acked Read 5 Sent Done Done false 1021 Acked Read 8 Sent Done Done false 1022 Acked Write 1 Sent Done Done false 1023 Acked Write 5 Sent Done Done false 1024 Acked Read 3 Sent Done Done false 1025 Acked Read 10 Sent Done Done false 1026 Acked Write 8 Sent Done Done false 1027 Acked Write 9 Sent Done Done false 1028 Acked Read 4 Sent Done Sent false 1029 Acked Write 2 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 30 1 2 33 Done 0 29 28 57 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: None Some(JobId(1012)) Some(JobId(1012)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:44:52.691959315Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:52.692235099Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1459,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 75 75 75 115 115 115 F F F 1 020-039 77 77 77 118 118 118 F F F 2 040-059 76 76 76 116 116 116 F F F 3 060-079 76 76 76 116 116 116 F F F 4 080-099 74 74 74 114 114 114 F T T <--- 5 100-119 69 69 69 106 106 106 F T T <--- 6 120-139 78 78 78 119 119 119 F F F 7 140-159 73 80 80 113 121 121 F F F <--- 8 160-179 79 79 79 120 120 120 F F F 9 180-199 77 77 77 118 118 118 F F F 10 200-219 74 74 74 114 114 114 F F F 11 220-239 77 77 77 118 118 118 F T T <--- 12 240-259 77 80 80 118 121 121 F F F <--- 13 260-279 77 77 77 118 118 118 F T T <--- 14 280-299 76 76 76 116 116 116 F T T <--- 15 300-319 75 75 75 115 115 115 F F F 16 320-339 78 80 80 119 121 121 F F F <--- 17 340-359 79 79 79 120 120 120 F T T <--- 18 360-379 79 79 79 120 120 120 F F F 19 380-399 70 70 70 108 108 108 F T T <--- 20 400-419 79 79 79 120 120 120 F F F 21 420-439 76 76 76 116 116 116 F T T <--- 22 440-459 78 78 78 119 119 119 F T T <--- 23 460-479 79 80 80 120 121 121 F T T <--- 24 480-499 74 80 80 114 121 121 F T T <--- 25 500-519 79 80 80 120 121 121 F T T <--- 26 520-539 70 70 70 109 109 109 F F F 27 540-559 77 80 80 118 121 121 F T T <--- 28 560-579 77 80 80 118 121 121 F T T <--- 29 580-599 79 79 79 120 120 120 F F F Max gen: 80, Max flush: 121 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 40 Verifying data now No change after verify Loop: 40 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 75 75 75 115 115 115 F F F 1 020-039 77 77 77 118 118 118 F F F 2 040-059 76 76 76 116 116 116 F F F 3 060-079 76 76 76 116 116 116 F F F 4 080-099 81 81 81 122 122 122 F F F 5 100-119 81 81 81 122 122 122 F F F 6 120-139 78 78 78 119 119 119 F F F 7 140-159 80 80 80 121 121 121 F F F 8 160-179 79 79 79 120 120 120 F F F 9 180-199 77 77 77 118 118 118 F F F 10 200-219 74 74 74 114 114 114 F F F 11 220-239 81 81 81 122 122 122 F F F 12 240-259 80 80 80 121 121 121 F F F 13 260-279 81 81 81 122 122 122 F F F 14 280-299 81 81 81 122 122 122 F F F 15 300-319 75 75 75 115 115 115 F F F 16 320-339 80 80 80 121 121 121 F F F 17 340-359 81 81 81 122 122 122 F F F 18 360-379 79 79 79 120 120 120 F F F 19 380-399 81 81 81 122 122 122 F F F 20 400-419 79 79 79 120 120 120 F F F 21 420-439 81 81 81 122 122 122 F F F 22 440-459 81 81 81 122 122 122 F F F 23 460-479 81 81 81 122 122 122 F F F 24 480-499 81 81 81 122 122 122 F F F 25 500-519 81 81 81 122 122 122 F F F 26 520-539 70 70 70 109 109 109 F F F 27 540-559 81 81 81 122 122 122 F F F 28 560-579 81 81 81 122 122 122 F F F 29 580-599 79 79 79 120 120 120 F F F Max gen: 81, Max flush: 122 Begin loop 41 Downstairs to restart: 2 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.955966215Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.964249283Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.964555773Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.96458448Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.964593668Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.964605227Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467} {"msg":"Crucible 2539bb62-80f6-4761-8fba-95c95dac9a87 has session id: fa5f96c0-a896-4cf0-bdf9-ba839d376dfb","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.965024483Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"Upstairs opts: Upstairs UUID: 2539bb62-80f6-4761-8fba-95c95dac9a87, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.96504839Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"Crucible stats registered with UUID: 2539bb62-80f6-4761-8fba-95c95dac9a87","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.965058669Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:44:56.965070347Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.965241295Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"":"io task","client":"1","":"downstairs","session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.965256433Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"":"io task","client":"0","":"downstairs","session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.965266572Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"":"io task","client":"2","":"downstairs","session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.965416713Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"task":"crutest"} {"msg":"The guest has requested activation with gen:82","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.965448299Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467} {"msg":"2539bb62-80f6-4761-8fba-95c95dac9a87 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.965465197Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.965474256Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"client":"0","":"downstairs","session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.965484104Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"client":"1","":"downstairs","session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.965493993Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"client":"2","":"downstairs","session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.965512901Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"":"io task","client":"2","":"downstairs","session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.965537687Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"":"io task","client":"0","":"downstairs","session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.965550776Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"":"io task","client":"1","":"downstairs","session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"ds_connection connected from Ok(127.0.0.1:57529)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.96559308Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"":"io task","client":"2","":"downstairs","session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"ds_connection connected from Ok(127.0.0.1:42573)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.965604289Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"":"io task","client":"0","":"downstairs","session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"ds_connection connected from Ok(127.0.0.1:60601)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.965614908Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"":"io task","client":"1","":"downstairs","session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.966337595Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"client":"1","":"downstairs","session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.966362332Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"client":"2","":"downstairs","session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.96637354Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"client":"0","":"downstairs","session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.966663603Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.966699788Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"[0]R flush_numbers[0..12]: [115, 118, 116, 116, 122, 122, 119, 121, 120, 118, 114, 122]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.966772359Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"":"downstairs","":"downstairs","session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"[0]R generation[0..12]: [75, 77, 76, 76, 81, 81, 78, 80, 79, 77, 74, 81]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.966783538Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"":"downstairs","":"downstairs","session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.966794686Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"":"downstairs","":"downstairs","session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"[1]R flush_numbers[0..12]: [115, 118, 116, 116, 122, 122, 119, 121, 120, 118, 114, 122]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.966805635Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"":"downstairs","":"downstairs","session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"[1]R generation[0..12]: [75, 77, 76, 76, 81, 81, 78, 80, 79, 77, 74, 81]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.966815984Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"":"downstairs","":"downstairs","session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.966827072Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"":"downstairs","":"downstairs","session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"[2]R flush_numbers[0..12]: [115, 118, 116, 116, 122, 122, 119, 121, 120, 118, 114, 122]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.966837671Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"":"downstairs","":"downstairs","session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"[2]R generation[0..12]: [75, 77, 76, 76, 81, 81, 78, 80, 79, 77, 74, 81]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.966848079Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"":"downstairs","":"downstairs","session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.966858968Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"":"downstairs","":"downstairs","session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"Max found gen is 82","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.966868547Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"":"downstairs","":"downstairs","session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"Generation requested: 82 >= found:82","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.966878415Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"":"downstairs","":"downstairs","session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"Next flush: 123","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.966887964Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"":"downstairs","":"downstairs","session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.966897603Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"":"downstairs","":"downstairs","session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.966907522Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.96691811Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"client":"0","":"downstairs","session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.966928109Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"client":"1","":"downstairs","session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.966937998Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"client":"2","":"downstairs","session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.966948027Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.966957465Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"2539bb62-80f6-4761-8fba-95c95dac9a87 is now active with session: fa5f96c0-a896-4cf0-bdf9-ba839d376dfb","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.966967594Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.966976503Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"session_id":"fa5f96c0-a896-4cf0-bdf9-ba839d376dfb"} {"msg":"The guest has finished waiting for activation with:82","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.966985802Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467} {"msg":"Activated sub_volume 2539bb62-80f6-4761-8fba-95c95dac9a87","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.966993911Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.96700219Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.967340756Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"task":"crutest"} 01/30 Write block 84 len 4096 data: 5 02/30 Write block 7 len 32768 data: 7 10 11 9 9 9 8 7 03/30 Read block 499 len 24576 04/30 Read block 384 len 8192 05/30 Flush 06/30 Write block 223 len 8192 data: 12 12 07/30 Read block 189 len 12288 08/30 Flush 09/30 Flush 10/30 Flush 11/30 Write block 104 len 12288 data: 7 8 8 12/30 Flush 13/30 Write block 170 len 16384 data: 6 6 4 4 14/30 Write block 150 len 4096 data: 7 15/30 Read block 356 len 36864 16/30 Write block 17 len 40960 data: 4 6 7 6 5 6 7 6 4 6 17/30 Read block 253 len 32768 18/30 Read block 98 len 40960 19/30 Flush 20/30 Write block 420 len 24576 data: 9 11 9 12 10 6 21/30 Write block 118 len 32768 data: 3 3 5 5 5 4 3 3 22/30 Write block 224 len 32768 data: 13 12 12 10 10 9 10 10 23/30 Read block 17 len 28672 24/30 Read block 387 len 16384 25/30 Read block 466 len 20480 26/30 Write block 139 len 12288 data: 4 7 7 27/30 Read block 196 len 20480 28/30 Read block 478 len 24576 29/30 Write block 320 len 4096 data: 8 30/30 Write block 20 len 16384 data: 7 6 7 8 ---------------------------------------------------------------- Crucible gen:82 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 1 Done Done Sent false 1001 Acked Write 8 Done Done Sent false 1002 Acked Read 6 Done Done Sent false 1003 Acked Read 2 Done Done Sent false 1004 Acked Flush 0 Done Done Sent false 1005 Acked Write 2 Done Done Sent false 1006 Acked Read 3 Done Done Sent false 1007 Acked Flush 0 Done Done Sent false 1008 Acked Flush 0 Done Done Sent false 1009 Acked Flush 0 Done Done Sent false 1010 Acked Write 3 Done Done Sent false 1011 Acked Flush 0 Done Done Sent false 1012 Acked Write 4 Done Done Sent false 1013 Acked Write 1 Done Done Sent false 1014 Acked Read 9 Done Done Sent false 1015 Acked Write 10 Done Done Sent false 1016 Acked Read 8 Done Done Sent false 1017 Acked Read 10 Done Done Sent false 1018 Acked Flush 0 Done Done Sent false 1019 Acked Write 6 Done Done Sent false 1020 Acked Write 8 Done Done Sent false 1021 Acked Write 8 Done Done Sent false 1022 Acked Read 7 Done Done Sent false 1023 Acked Read 4 Done Done Sent false 1024 Acked Read 5 Done Done Sent false 1025 Acked Write 3 Done Done Sent false 1026 Acked Read 5 Done Done Sent false 1027 Acked Read 6 Done Done Sent false 1028 Acked Write 1 Sent Sent Sent false 1029 Acked Write 4 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 2 2 30 34 Done 28 28 0 56 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1018)) Some(JobId(1018)) None Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:44:56.975623054Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:44:56.975933994Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1467,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 82 82 75 128 128 115 F F F <--- 1 020-039 82 82 77 128 128 118 T T F <--- 2 040-059 76 76 76 116 116 116 F F F 3 060-079 76 76 76 116 116 116 F F F 4 080-099 82 82 81 123 123 122 F F F <--- 5 100-119 82 82 81 127 127 122 T T F <--- 6 120-139 78 78 78 119 119 119 T T F <--- 7 140-159 82 82 80 128 128 121 T T F <--- 8 160-179 82 82 79 128 128 120 F F F <--- 9 180-199 77 77 77 118 118 118 F F F 10 200-219 74 74 74 114 114 114 F F F 11 220-239 82 82 81 124 124 122 T T F <--- 12 240-259 80 80 80 121 121 121 F F F 13 260-279 81 81 81 122 122 122 F F F 14 280-299 81 81 81 122 122 122 F F F 15 300-319 75 75 75 115 115 115 F F F 16 320-339 80 80 80 121 121 121 T T F <--- 17 340-359 81 81 81 122 122 122 F F F 18 360-379 79 79 79 120 120 120 F F F 19 380-399 81 81 81 122 122 122 F F F 20 400-419 79 79 79 120 120 120 F F F 21 420-439 81 81 81 122 122 122 T T F <--- 22 440-459 81 81 81 122 122 122 F F F 23 460-479 81 81 81 122 122 122 F F F 24 480-499 81 81 81 122 122 122 F F F 25 500-519 81 81 81 122 122 122 F F F 26 520-539 70 70 70 109 109 109 F F F 27 540-559 81 81 81 122 122 122 F F F 28 560-579 81 81 81 122 122 122 F F F 29 580-599 79 79 79 120 120 120 F F F Max gen: 82, Max flush: 128 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 41 Verifying data now No change after verify Loop: 41 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 82 82 82 128 128 128 F F F 1 020-039 83 83 83 129 129 129 F F F 2 040-059 76 76 76 116 116 116 F F F 3 060-079 76 76 76 116 116 116 F F F 4 080-099 82 82 82 123 123 123 F F F 5 100-119 83 83 83 129 129 129 F F F 6 120-139 83 83 83 129 129 129 F F F 7 140-159 83 83 83 129 129 129 F F F 8 160-179 82 82 82 128 128 128 F F F 9 180-199 77 77 77 118 118 118 F F F 10 200-219 74 74 74 114 114 114 F F F 11 220-239 83 83 83 129 129 129 F F F 12 240-259 80 80 80 121 121 121 F F F 13 260-279 81 81 81 122 122 122 F F F 14 280-299 81 81 81 122 122 122 F F F 15 300-319 75 75 75 115 115 115 F F F 16 320-339 83 83 83 129 129 129 F F F 17 340-359 81 81 81 122 122 122 F F F 18 360-379 79 79 79 120 120 120 F F F 19 380-399 81 81 81 122 122 122 F F F 20 400-419 79 79 79 120 120 120 F F F 21 420-439 83 83 83 129 129 129 F F F 22 440-459 81 81 81 122 122 122 F F F 23 460-479 81 81 81 122 122 122 F F F 24 480-499 81 81 81 122 122 122 F F F 25 500-519 81 81 81 122 122 122 F F F 26 520-539 70 70 70 109 109 109 F F F 27 540-559 81 81 81 122 122 122 F F F 28 560-579 81 81 81 122 122 122 F F F 29 580-599 79 79 79 120 120 120 F F F Max gen: 83, Max flush: 129 Begin loop 42 Downstairs to restart: 0 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.21004349Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"task":"crutest"} {"msg":"Failed to get info from \"http://127.0.0.1:12810\" Communication Error: error sending request for url (http://127.0.0.1:12810/region-info)","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:45:01.217138701Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"task":"crutest"} {"msg":"look at: http://127.0.0.1:12820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.217212691Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008820, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.224001651Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.224269586Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.224297863Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.224306771Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.22431854Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475} {"msg":"Crucible bcdd5574-afcb-40b3-a1ab-608d8a5f5b32 has session id: fc86a758-7bf7-4679-bd80-124b605773c0","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.22462602Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"Upstairs opts: Upstairs UUID: bcdd5574-afcb-40b3-a1ab-608d8a5f5b32, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.224649407Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"Crucible stats registered with UUID: bcdd5574-afcb-40b3-a1ab-608d8a5f5b32","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.224659996Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:45:01.224671215Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.224826335Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"":"io task","client":"0","":"downstairs","session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.224859451Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"":"io task","client":"1","":"downstairs","session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.224870409Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"":"io task","client":"2","":"downstairs","session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.225008331Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"task":"crutest"} {"msg":"The guest has requested activation with gen:84","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.225032528Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475} {"msg":"bcdd5574-afcb-40b3-a1ab-608d8a5f5b32 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.225045257Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.225054346Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"client":"0","":"downstairs","session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.225064374Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"client":"1","":"downstairs","session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.225074223Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"client":"2","":"downstairs","session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.225084032Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"":"io task","client":"0","":"downstairs","session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.2250942Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"":"io task","client":"1","":"downstairs","session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.225104649Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"":"io task","client":"2","":"downstairs","session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"ds_connection connected from Ok(127.0.0.1:53082)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.22517736Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"":"io task","client":"2","":"downstairs","session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"ds_connection connected from Ok(127.0.0.1:62764)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.225202876Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"":"io task","client":"0","":"downstairs","session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"ds_connection connected from Ok(127.0.0.1:34847)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.225214405Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"":"io task","client":"1","":"downstairs","session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.225898657Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"client":"1","":"downstairs","session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.225924404Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"client":"2","":"downstairs","session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.225936092Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"client":"0","":"downstairs","session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.226240103Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.22627025Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"[0]R flush_numbers[0..12]: [128, 129, 116, 116, 123, 129, 129, 129, 128, 118, 114, 129]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.226333871Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"":"downstairs","":"downstairs","session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"[0]R generation[0..12]: [82, 83, 76, 76, 82, 83, 83, 83, 82, 77, 74, 83]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.22634579Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"":"downstairs","":"downstairs","session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.226357278Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"":"downstairs","":"downstairs","session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"[1]R flush_numbers[0..12]: [128, 129, 116, 116, 123, 129, 129, 129, 128, 118, 114, 129]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.226368227Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"":"downstairs","":"downstairs","session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"[1]R generation[0..12]: [82, 83, 76, 76, 82, 83, 83, 83, 82, 77, 74, 83]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.226378736Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"":"downstairs","":"downstairs","session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.226389744Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"":"downstairs","":"downstairs","session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"[2]R flush_numbers[0..12]: [128, 129, 116, 116, 123, 129, 129, 129, 128, 118, 114, 129]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.226400593Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"":"downstairs","":"downstairs","session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"[2]R generation[0..12]: [82, 83, 76, 76, 82, 83, 83, 83, 82, 77, 74, 83]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.226411172Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"":"downstairs","":"downstairs","session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.2264224Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"":"downstairs","":"downstairs","session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"Max found gen is 84","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.226434589Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"":"downstairs","":"downstairs","session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"Generation requested: 84 >= found:84","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.226444597Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"":"downstairs","":"downstairs","session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"Next flush: 130","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.226454226Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"":"downstairs","":"downstairs","session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.226463935Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"":"downstairs","":"downstairs","session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.226473973Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.226482922Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"client":"0","":"downstairs","session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.226492741Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"client":"1","":"downstairs","session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.22650251Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"client":"2","":"downstairs","session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.226512549Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.226521887Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"bcdd5574-afcb-40b3-a1ab-608d8a5f5b32 is now active with session: fc86a758-7bf7-4679-bd80-124b605773c0","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.226531956Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.226540845Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"session_id":"fc86a758-7bf7-4679-bd80-124b605773c0"} {"msg":"The guest has finished waiting for activation with:84","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.226550024Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475} {"msg":"Activated sub_volume bcdd5574-afcb-40b3-a1ab-608d8a5f5b32","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.226558343Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.226566832Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.226920266Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"task":"crutest"} 01/30 Write block 37 len 16384 data: 7 8 6 6 02/30 Read block 70 len 12288 03/30 Read block 37 len 24576 04/30 Write block 256 len 28672 data: 5 5 5 5 4 4 4 05/30 Read block 57 len 40960 06/30 Read block 19 len 24576 07/30 Read block 63 len 40960 08/30 Write block 557 len 8192 data: 10 11 09/30 Read block 199 len 28672 10/30 Write block 205 len 20480 data: 6 6 7 8 6 11/30 Read block 245 len 4096 12/30 Read block 144 len 8192 13/30 Flush 14/30 Write block 160 len 36864 data: 5 6 7 7 8 8 8 7 5 15/30 Read block 33 len 32768 16/30 Flush 17/30 Write block 304 len 36864 data: 8 9 8 7 5 4 3 4 5 18/30 Read block 110 len 40960 19/30 Read block 517 len 20480 20/30 Read block 108 len 4096 21/30 Read block 386 len 32768 22/30 Flush 23/30 Write block 470 len 16384 data: 8 10 9 10 24/30 Read block 146 len 4096 25/30 Read block 352 len 24576 26/30 Flush 27/30 Write block 8 len 20480 data: 11 12 10 10 10 28/30 Write block 131 len 40960 data: 8 7 9 6 5 5 5 3 5 8 29/30 Read block 477 len 16384 30/30 Read block 563 len 40960 ---------------------------------------------------------------- Crucible gen:84 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 4 Done Done Done false 1001 Acked Read 3 Done Done Done false 1002 Acked Read 6 Done Done Done false 1003 Acked Write 7 Sent Done Done false 1004 Acked Read 10 Sent Done Done false 1005 Acked Read 6 Sent Done Done false 1006 Acked Read 10 Sent Done Done false 1007 Acked Write 2 Sent Done Done false 1008 Acked Read 7 Sent Done Done false 1009 Acked Write 5 Sent Done Done false 1010 Acked Read 1 Sent Done Done false 1011 Acked Read 2 Sent Done Done false 1012 Acked Flush 0 Sent Done Done false 1013 Acked Write 9 Sent Done Done false 1014 Acked Read 8 Sent Done Done false 1015 Acked Flush 0 Sent Done Done false 1016 Acked Write 9 Sent Done Done false 1017 Acked Read 10 Sent Done Done false 1018 Acked Read 5 Sent Done Done false 1019 Acked Read 1 Sent Done Done false 1020 Acked Read 8 Sent Done Done false 1021 Acked Flush 0 Sent Done Done false 1022 Acked Write 4 Sent Done Done false 1023 Acked Read 1 Sent Done Done false 1024 Acked Read 6 Sent Done Done false 1025 Acked Flush 0 Sent Done Done false 1026 Acked Write 5 Sent Done Done false 1027 Acked Write 10 Sent Done Done false 1028 Acked Read 4 Sent Done Done false 1029 Acked Read 10 Sent Sent Done false STATES DS:0 DS:1 DS:2 TOTAL Sent 27 1 0 28 Done 3 29 30 62 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: None Some(JobId(1025)) Some(JobId(1025)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:45:01.236154122Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:01.236422118Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1475,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 82 82 82 128 128 128 F T T <--- 1 020-039 83 84 84 129 130 130 T F F <--- 2 040-059 76 84 84 116 130 130 T F F <--- 3 060-079 76 76 76 116 116 116 F F F 4 080-099 82 82 82 123 123 123 F F F 5 100-119 83 83 83 129 129 129 F F F 6 120-139 83 83 83 129 129 129 F T T <--- 7 140-159 83 83 83 129 129 129 F T T <--- 8 160-179 82 84 84 128 131 131 F F F <--- 9 180-199 77 77 77 118 118 118 F F F 10 200-219 74 84 84 114 130 130 F F F <--- 11 220-239 83 83 83 129 129 129 F F F 12 240-259 80 84 84 121 130 130 F F F <--- 13 260-279 81 84 84 122 130 130 F F F <--- 14 280-299 81 81 81 122 122 122 F F F 15 300-319 75 84 84 115 132 132 F F F <--- 16 320-339 83 83 83 129 129 129 F F F 17 340-359 81 81 81 122 122 122 F F F 18 360-379 79 79 79 120 120 120 F F F 19 380-399 81 81 81 122 122 122 F F F 20 400-419 79 79 79 120 120 120 F F F 21 420-439 83 83 83 129 129 129 F F F 22 440-459 81 81 81 122 122 122 F F F 23 460-479 81 84 84 122 133 133 F F F <--- 24 480-499 81 81 81 122 122 122 F F F 25 500-519 81 81 81 122 122 122 F F F 26 520-539 70 70 70 109 109 109 F F F 27 540-559 81 84 84 122 130 130 F F F <--- 28 560-579 81 81 81 122 122 122 F F F 29 580-599 79 79 79 120 120 120 F F F Max gen: 84, Max flush: 133 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 42 Verifying data now No change after verify Loop: 42 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 85 85 85 134 134 134 F F F 1 020-039 84 84 84 130 130 130 F F F 2 040-059 84 84 84 130 130 130 F F F 3 060-079 76 76 76 116 116 116 F F F 4 080-099 82 82 82 123 123 123 F F F 5 100-119 83 83 83 129 129 129 F F F 6 120-139 85 85 85 134 134 134 F F F 7 140-159 85 85 85 134 134 134 F F F 8 160-179 84 84 84 131 131 131 F F F 9 180-199 77 77 77 118 118 118 F F F 10 200-219 84 84 84 130 130 130 F F F 11 220-239 83 83 83 129 129 129 F F F 12 240-259 84 84 84 130 130 130 F F F 13 260-279 84 84 84 130 130 130 F F F 14 280-299 81 81 81 122 122 122 F F F 15 300-319 84 84 84 132 132 132 F F F 16 320-339 83 83 83 129 129 129 F F F 17 340-359 81 81 81 122 122 122 F F F 18 360-379 79 79 79 120 120 120 F F F 19 380-399 81 81 81 122 122 122 F F F 20 400-419 79 79 79 120 120 120 F F F 21 420-439 83 83 83 129 129 129 F F F 22 440-459 81 81 81 122 122 122 F F F 23 460-479 84 84 84 133 133 133 F F F 24 480-499 81 81 81 122 122 122 F F F 25 500-519 81 81 81 122 122 122 F F F 26 520-539 70 70 70 109 109 109 F F F 27 540-559 84 84 84 130 130 130 F F F 28 560-579 81 81 81 122 122 122 F F F 29 580-599 79 79 79 120 120 120 F F F Max gen: 85, Max flush: 134 Begin loop 43 Downstairs to restart: 0 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.479611418Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"task":"crutest"} {"msg":"Failed to get info from \"http://127.0.0.1:12810\" Communication Error: error sending request for url (http://127.0.0.1:12810/region-info)","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:45:05.486773959Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"task":"crutest"} {"msg":"look at: http://127.0.0.1:12820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.486840191Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008820, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.493652987Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.493954968Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.493993103Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.494002762Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.494014791Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483} {"msg":"Crucible 858e94e3-197c-4700-93aa-01f9f649fe6d has session id: 6e7455a1-ba5e-44b4-a12e-f6f90133f163","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.494373275Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"Upstairs opts: Upstairs UUID: 858e94e3-197c-4700-93aa-01f9f649fe6d, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.494397772Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"Crucible stats registered with UUID: 858e94e3-197c-4700-93aa-01f9f649fe6d","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.49440829Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:45:05.494417959Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.494599876Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"":"io task","client":"2","":"downstairs","session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.494629202Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"":"io task","client":"1","":"downstairs","session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.49464037Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"":"io task","client":"0","":"downstairs","session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.494749256Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"task":"crutest"} {"msg":"The guest has requested activation with gen:86","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.494776953Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483} {"msg":"858e94e3-197c-4700-93aa-01f9f649fe6d active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.494794921Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.494804169Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"client":"0","":"downstairs","session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.494814178Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"client":"1","":"downstairs","session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.494824017Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"client":"2","":"downstairs","session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.494833756Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"":"io task","client":"2","":"downstairs","session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.494843934Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"":"io task","client":"1","":"downstairs","session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.494891418Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"":"io task","client":"0","":"downstairs","session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"ds_connection connected from Ok(127.0.0.1:64353)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.494907936Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"":"io task","client":"1","":"downstairs","session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"ds_connection connected from Ok(127.0.0.1:49970)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.494918785Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"":"io task","client":"2","":"downstairs","session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"ds_connection connected from Ok(127.0.0.1:35826)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.4949587Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"":"io task","client":"0","":"downstairs","session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.495602527Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"client":"0","":"downstairs","session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.495650831Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"client":"1","":"downstairs","session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.495662549Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"client":"2","":"downstairs","session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.495899249Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.495921896Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"[0]R flush_numbers[0..12]: [134, 130, 130, 116, 123, 129, 134, 134, 131, 118, 130, 129]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.495973589Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"":"downstairs","":"downstairs","session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"[0]R generation[0..12]: [85, 84, 84, 76, 82, 83, 85, 85, 84, 77, 84, 83]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.495985158Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"":"downstairs","":"downstairs","session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.495996507Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"":"downstairs","":"downstairs","session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"[1]R flush_numbers[0..12]: [134, 130, 130, 116, 123, 129, 134, 134, 131, 118, 130, 129]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.496007245Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"":"downstairs","":"downstairs","session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"[1]R generation[0..12]: [85, 84, 84, 76, 82, 83, 85, 85, 84, 77, 84, 83]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.496017714Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"":"downstairs","":"downstairs","session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.496028962Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"":"downstairs","":"downstairs","session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"[2]R flush_numbers[0..12]: [134, 130, 130, 116, 123, 129, 134, 134, 131, 118, 130, 129]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.496041971Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"":"downstairs","":"downstairs","session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"[2]R generation[0..12]: [85, 84, 84, 76, 82, 83, 85, 85, 84, 77, 84, 83]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.496052659Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"":"downstairs","":"downstairs","session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.496063638Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"":"downstairs","":"downstairs","session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"Max found gen is 86","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.496073197Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"":"downstairs","":"downstairs","session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"Generation requested: 86 >= found:86","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.496083025Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"":"downstairs","":"downstairs","session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"Next flush: 135","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.496092394Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"":"downstairs","":"downstairs","session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.496101783Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"":"downstairs","":"downstairs","session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.496111962Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.496120981Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"client":"0","":"downstairs","session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.496131109Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"client":"1","":"downstairs","session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.496141108Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"client":"2","":"downstairs","session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.496151327Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.496160685Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"858e94e3-197c-4700-93aa-01f9f649fe6d is now active with session: 6e7455a1-ba5e-44b4-a12e-f6f90133f163","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.496170734Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.496179603Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"session_id":"6e7455a1-ba5e-44b4-a12e-f6f90133f163"} {"msg":"The guest has finished waiting for activation with:86","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.496188672Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483} {"msg":"Activated sub_volume 858e94e3-197c-4700-93aa-01f9f649fe6d","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.496197941Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.49620611Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.496549306Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"task":"crutest"} 01/30 Write block 20 len 20480 data: 8 7 8 9 7 02/30 Write block 249 len 24576 data: 7 7 6 6 6 5 03/30 Write block 265 len 4096 data: 5 04/30 Write block 139 len 36864 data: 6 9 8 7 7 6 8 7 7 05/30 Write block 371 len 40960 data: 9 9 8 9 6 6 6 6 5 3 06/30 Write block 325 len 32768 data: 12 10 7 7 9 8 7 6 07/30 Write block 29 len 40960 data: 8 8 10 9 11 12 9 8 8 9 08/30 Read block 494 len 36864 09/30 Read block 515 len 36864 10/30 Write block 270 len 4096 data: 5 11/30 Write block 180 len 4096 data: 7 12/30 Read block 369 len 28672 13/30 Flush 14/30 Flush 15/30 Write block 355 len 4096 data: 9 16/30 Read block 471 len 24576 17/30 Flush 18/30 Flush 19/30 Write block 81 len 12288 data: 5 4 5 20/30 Read block 128 len 16384 21/30 Read block 101 len 8192 22/30 Read block 298 len 4096 23/30 Write block 345 len 8192 data: 10 11 24/30 Write block 139 len 36864 data: 7 10 9 8 8 7 9 8 8 25/30 Read block 509 len 32768 26/30 Read block 502 len 36864 27/30 Read block 484 len 28672 28/30 Write block 43 len 32768 data: 5 6 6 6 6 6 5 5 29/30 Write block 88 len 28672 data: 10 7 7 10 9 10 9 30/30 Write block 264 len 24576 data: 3 6 5 6 5 5 ---------------------------------------------------------------- Crucible gen:86 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 5 Done Done Done false 1001 Acked Write 6 Sent Done Done false 1002 Acked Write 1 Sent Done Done false 1003 Acked Write 9 Sent Done Done false 1004 Acked Write 10 Sent Done Done false 1005 Acked Write 8 Sent Done Done false 1006 Acked Write 10 Sent Done Done false 1007 Acked Read 9 Sent Done Done false 1008 Acked Read 9 Sent Done Done false 1009 Acked Write 1 Sent Done Done false 1010 Acked Write 1 Sent Done Done false 1011 Acked Read 7 Sent Done Done false 1012 Acked Flush 0 Sent Done Done false 1013 Acked Flush 0 Sent Done Done false 1014 Acked Write 1 Sent Done Done false 1015 Acked Read 6 Sent Done Done false 1016 Acked Flush 0 Sent Done Done false 1017 Acked Flush 0 Sent Done Done false 1018 Acked Write 3 Sent Done Done false 1019 Acked Read 4 Sent Done Done false 1020 Acked Read 2 Sent Done Done false 1021 Acked Read 1 Sent Done Done false 1022 Acked Write 2 Sent Done Done false 1023 Acked Write 9 Sent Done Done false 1024 Acked Read 8 Sent Done Done false 1025 Acked Read 9 Sent Done Done false 1026 Acked Read 7 Sent Done Done false 1027 Acked Write 8 Sent Sent Done false 1028 Acked Write 7 Sent Sent Sent false 1029 Acked Write 6 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 29 3 2 34 Done 1 27 28 56 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: None Some(JobId(1017)) Some(JobId(1017)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:45:05.503676282Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:05.503987942Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1483,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 85 85 85 134 134 134 F F F 1 020-039 84 86 86 130 135 135 T F F <--- 2 040-059 84 84 84 130 130 130 F T T <--- 3 060-079 76 76 76 116 116 116 F F F 4 080-099 82 82 82 123 123 123 F T T <--- 5 100-119 83 83 83 129 129 129 F F F 6 120-139 85 86 86 134 135 135 F T T <--- 7 140-159 85 86 86 134 135 135 F T T <--- 8 160-179 84 84 84 131 131 131 F F F 9 180-199 77 86 86 118 135 135 F F F <--- 10 200-219 84 84 84 130 130 130 F F F 11 220-239 83 83 83 129 129 129 F F F 12 240-259 84 86 86 130 135 135 F F F <--- 13 260-279 84 86 86 130 135 135 F T T <--- 14 280-299 81 81 81 122 122 122 F F F 15 300-319 84 84 84 132 132 132 F F F 16 320-339 83 86 86 129 135 135 F F F <--- 17 340-359 81 86 86 122 137 137 F T T <--- 18 360-379 79 86 86 120 135 135 F F F <--- 19 380-399 81 86 86 122 135 135 F F F <--- 20 400-419 79 79 79 120 120 120 F F F 21 420-439 83 83 83 129 129 129 F F F 22 440-459 81 81 81 122 122 122 F F F 23 460-479 84 84 84 133 133 133 F F F 24 480-499 81 81 81 122 122 122 F F F 25 500-519 81 81 81 122 122 122 F F F 26 520-539 70 70 70 109 109 109 F F F 27 540-559 84 84 84 130 130 130 F F F 28 560-579 81 81 81 122 122 122 F F F 29 580-599 79 79 79 120 120 120 F F F Max gen: 86, Max flush: 137 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 43 Verifying data now No change after verify Loop: 43 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 85 85 85 134 134 134 F F F 1 020-039 86 86 86 135 135 135 F F F 2 040-059 87 87 87 138 138 138 F F F 3 060-079 76 76 76 116 116 116 F F F 4 080-099 87 87 87 138 138 138 F F F 5 100-119 83 83 83 129 129 129 F F F 6 120-139 87 87 87 138 138 138 F F F 7 140-159 87 87 87 138 138 138 F F F 8 160-179 84 84 84 131 131 131 F F F 9 180-199 86 86 86 135 135 135 F F F 10 200-219 84 84 84 130 130 130 F F F 11 220-239 83 83 83 129 129 129 F F F 12 240-259 86 86 86 135 135 135 F F F 13 260-279 87 87 87 138 138 138 F F F 14 280-299 81 81 81 122 122 122 F F F 15 300-319 84 84 84 132 132 132 F F F 16 320-339 86 86 86 135 135 135 F F F 17 340-359 87 87 87 138 138 138 F F F 18 360-379 86 86 86 135 135 135 F F F 19 380-399 86 86 86 135 135 135 F F F 20 400-419 79 79 79 120 120 120 F F F 21 420-439 83 83 83 129 129 129 F F F 22 440-459 81 81 81 122 122 122 F F F 23 460-479 84 84 84 133 133 133 F F F 24 480-499 81 81 81 122 122 122 F F F 25 500-519 81 81 81 122 122 122 F F F 26 520-539 70 70 70 109 109 109 F F F 27 540-559 84 84 84 130 130 130 F F F 28 560-579 81 81 81 122 122 122 F F F 29 580-599 79 79 79 120 120 120 F F F Max gen: 87, Max flush: 138 Begin loop 44 Downstairs to restart: 2 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.747224216Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.755565357Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.755883986Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.755913662Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.755925221Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.755937239Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491} {"msg":"Crucible 9ceec2dc-0602-4596-b766-b40bfab255e6 has session id: cbf7410d-8b50-453a-9187-963d70067837","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.75624574Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"Upstairs opts: Upstairs UUID: 9ceec2dc-0602-4596-b766-b40bfab255e6, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.756267687Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"Crucible stats registered with UUID: 9ceec2dc-0602-4596-b766-b40bfab255e6","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.756277945Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:45:09.756288384Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.756444384Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"":"io task","client":"0","":"downstairs","session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.756459942Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"":"io task","client":"2","":"downstairs","session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.756470251Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"":"io task","client":"1","":"downstairs","session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.756617612Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"task":"crutest"} {"msg":"The guest has requested activation with gen:88","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.756643469Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491} {"msg":"9ceec2dc-0602-4596-b766-b40bfab255e6 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.756652787Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.756662056Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"client":"0","":"downstairs","session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.756672335Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"client":"1","":"downstairs","session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.756682264Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"client":"2","":"downstairs","session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.756693772Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"":"io task","client":"2","":"downstairs","session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.756704041Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"":"io task","client":"0","":"downstairs","session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.756714159Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"":"io task","client":"1","":"downstairs","session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"ds_connection connected from Ok(127.0.0.1:39583)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.756781011Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"":"io task","client":"1","":"downstairs","session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"ds_connection connected from Ok(127.0.0.1:34421)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.756807598Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"":"io task","client":"2","":"downstairs","session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"ds_connection connected from Ok(127.0.0.1:64168)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.756819126Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"":"io task","client":"0","":"downstairs","session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.757408031Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"client":"1","":"downstairs","session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.757423459Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"client":"0","":"downstairs","session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.757460484Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"client":"2","":"downstairs","session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.757736428Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.757746237Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"[0]R flush_numbers[0..12]: [134, 135, 138, 116, 138, 129, 138, 138, 131, 135, 130, 129]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.757783902Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"":"downstairs","":"downstairs","session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"[0]R generation[0..12]: [85, 86, 87, 76, 87, 83, 87, 87, 84, 86, 84, 83]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.757795191Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"":"downstairs","":"downstairs","session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.757806419Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"":"downstairs","":"downstairs","session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"[1]R flush_numbers[0..12]: [134, 135, 138, 116, 138, 129, 138, 138, 131, 135, 130, 129]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.757817368Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"":"downstairs","":"downstairs","session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"[1]R generation[0..12]: [85, 86, 87, 76, 87, 83, 87, 87, 84, 86, 84, 83]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.757830586Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"":"downstairs","":"downstairs","session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.757841875Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"":"downstairs","":"downstairs","session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"[2]R flush_numbers[0..12]: [134, 135, 138, 116, 138, 129, 138, 138, 131, 135, 130, 129]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.757852573Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"":"downstairs","":"downstairs","session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"[2]R generation[0..12]: [85, 86, 87, 76, 87, 83, 87, 87, 84, 86, 84, 83]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.757863142Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"":"downstairs","":"downstairs","session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.757874111Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"":"downstairs","":"downstairs","session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"Max found gen is 88","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.757883859Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"":"downstairs","":"downstairs","session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"Generation requested: 88 >= found:88","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.757893888Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"":"downstairs","":"downstairs","session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"Next flush: 139","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.757903477Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"":"downstairs","":"downstairs","session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.757913266Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"":"downstairs","":"downstairs","session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.757923264Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.757932183Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"client":"0","":"downstairs","session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.757942062Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"client":"1","":"downstairs","session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.757952151Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"client":"2","":"downstairs","session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.757962399Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.757971848Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"9ceec2dc-0602-4596-b766-b40bfab255e6 is now active with session: cbf7410d-8b50-453a-9187-963d70067837","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.757983207Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.757992296Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"session_id":"cbf7410d-8b50-453a-9187-963d70067837"} {"msg":"The guest has finished waiting for activation with:88","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.758001744Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491} {"msg":"Activated sub_volume 9ceec2dc-0602-4596-b766-b40bfab255e6","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.758010483Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.758018992Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.758358399Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"task":"crutest"} 01/30 Write block 510 len 32768 data: 10 10 9 7 7 6 6 5 02/30 Read block 303 len 40960 03/30 Write block 57 len 16384 data: 9 11 10 10 04/30 Write block 52 len 24576 data: 4 4 5 5 9 10 05/30 Read block 529 len 16384 06/30 Read block 100 len 12288 07/30 Write block 224 len 12288 data: 14 13 13 08/30 Read block 492 len 16384 09/30 Read block 387 len 20480 10/30 Read block 19 len 24576 11/30 Read block 150 len 4096 12/30 Read block 187 len 40960 13/30 Write block 426 len 36864 data: 7 7 6 7 8 7 7 8 8 14/30 Flush 15/30 Write block 308 len 12288 data: 6 5 4 16/30 Read block 481 len 4096 17/30 Write block 256 len 28672 data: 6 6 6 6 5 5 5 18/30 Write block 142 len 8192 data: 9 9 19/30 Read block 221 len 36864 20/30 Read block 59 len 12288 21/30 Read block 174 len 28672 22/30 Read block 37 len 20480 23/30 Read block 216 len 16384 24/30 Read block 229 len 28672 25/30 Read block 510 len 20480 26/30 Write block 407 len 32768 data: 6 7 4 6 6 5 6 6 27/30 Write block 403 len 40960 data: 11 10 8 8 7 8 5 7 7 6 28/30 Write block 491 len 36864 data: 5 6 6 6 6 5 5 6 7 29/30 Read block 460 len 4096 30/30 Read block 16 len 32768 ---------------------------------------------------------------- Crucible gen:88 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 8 Done Done Done false 1001 Acked Read 10 Done Done Done false 1002 Acked Write 4 Done Done Done false 1003 Acked Write 6 Done Done Done false 1004 Acked Read 4 Done Done Sent false 1005 Acked Read 3 Done Done Sent false 1006 Acked Write 3 Done Done Sent false 1007 Acked Read 4 Done Done Sent false 1008 Acked Read 5 Done Done Sent false 1009 Acked Read 6 Done Done Sent false 1010 Acked Read 1 Done Done Sent false 1011 Acked Read 10 Done Done Sent false 1012 Acked Write 9 Done Done Sent false 1013 Acked Flush 0 Done Done Sent false 1014 Acked Write 3 Done Done Sent false 1015 Acked Read 1 Done Done Sent false 1016 Acked Write 7 Done Done Sent false 1017 Acked Write 2 Done Done Sent false 1018 Acked Read 9 Done Done Sent false 1019 Acked Read 3 Done Done Sent false 1020 Acked Read 7 Done Done Sent false 1021 Acked Read 5 Done Done Sent false 1022 Acked Read 4 Done Done Sent false 1023 Acked Read 7 Done Done Sent false 1024 Acked Read 5 Done Done Sent false 1025 Acked Write 8 Done Done Sent false 1026 Acked Write 10 Done Done Sent false 1027 Acked Write 9 Done Done Sent false 1028 Acked Read 1 Done Done Sent false 1029 Acked Read 8 Done Done Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 0 0 26 26 Done 30 30 4 64 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1013)) Some(JobId(1013)) None Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:45:09.766855059Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:09.767139673Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1491,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 85 85 85 134 134 134 F F F 1 020-039 86 86 86 135 135 135 F F F 2 040-059 88 88 87 139 139 138 F F T <--- 3 060-079 88 88 76 139 139 116 F F T <--- 4 080-099 87 87 87 138 138 138 F F F 5 100-119 83 83 83 129 129 129 F F F 6 120-139 87 87 87 138 138 138 F F F 7 140-159 87 87 87 138 138 138 T T F <--- 8 160-179 84 84 84 131 131 131 F F F 9 180-199 86 86 86 135 135 135 F F F 10 200-219 84 84 84 130 130 130 F F F 11 220-239 88 88 83 139 139 129 F F F <--- 12 240-259 86 86 86 135 135 135 T T F <--- 13 260-279 87 87 87 138 138 138 T T F <--- 14 280-299 81 81 81 122 122 122 F F F 15 300-319 84 84 84 132 132 132 T T F <--- 16 320-339 86 86 86 135 135 135 F F F 17 340-359 87 87 87 138 138 138 F F F 18 360-379 86 86 86 135 135 135 F F F 19 380-399 86 86 86 135 135 135 F F F 20 400-419 79 79 79 120 120 120 T T F <--- 21 420-439 88 88 83 139 139 129 F F F <--- 22 440-459 81 81 81 122 122 122 F F F 23 460-479 84 84 84 133 133 133 F F F 24 480-499 81 81 81 122 122 122 T T F <--- 25 500-519 88 88 81 139 139 122 F F T <--- 26 520-539 70 70 70 109 109 109 F F F 27 540-559 84 84 84 130 130 130 F F F 28 560-579 81 81 81 122 122 122 F F F 29 580-599 79 79 79 120 120 120 F F F Max gen: 88, Max flush: 139 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 44 Verifying data now No change after verify Loop: 44 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 85 85 85 134 134 134 F F F 1 020-039 86 86 86 135 135 135 F F F 2 040-059 88 88 88 139 139 139 F F F 3 060-079 88 88 88 139 139 139 F F F 4 080-099 87 87 87 138 138 138 F F F 5 100-119 83 83 83 129 129 129 F F F 6 120-139 87 87 87 138 138 138 F F F 7 140-159 89 89 89 140 140 140 F F F 8 160-179 84 84 84 131 131 131 F F F 9 180-199 86 86 86 135 135 135 F F F 10 200-219 84 84 84 130 130 130 F F F 11 220-239 88 88 88 139 139 139 F F F 12 240-259 89 89 89 140 140 140 F F F 13 260-279 89 89 89 140 140 140 F F F 14 280-299 81 81 81 122 122 122 F F F 15 300-319 89 89 89 140 140 140 F F F 16 320-339 86 86 86 135 135 135 F F F 17 340-359 87 87 87 138 138 138 F F F 18 360-379 86 86 86 135 135 135 F F F 19 380-399 86 86 86 135 135 135 F F F 20 400-419 89 89 89 140 140 140 F F F 21 420-439 88 88 88 139 139 139 F F F 22 440-459 81 81 81 122 122 122 F F F 23 460-479 84 84 84 133 133 133 F F F 24 480-499 89 89 89 140 140 140 F F F 25 500-519 88 88 88 139 139 139 F F F 26 520-539 70 70 70 109 109 109 F F F 27 540-559 84 84 84 130 130 130 F F F 28 560-579 81 81 81 122 122 122 F F F 29 580-599 79 79 79 120 120 120 F F F Max gen: 89, Max flush: 140 Begin loop 45 Downstairs to restart: 2 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.005406155Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.013530873Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.013841393Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.013870709Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.013879388Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.013890917Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499} {"msg":"Crucible a0488bcf-7c63-47b5-b6f0-ab7eaafe0275 has session id: 81bcbd9d-ab15-404c-ae77-bcbb6151473b","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.014244631Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"Upstairs opts: Upstairs UUID: a0488bcf-7c63-47b5-b6f0-ab7eaafe0275, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.014269218Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"Crucible stats registered with UUID: a0488bcf-7c63-47b5-b6f0-ab7eaafe0275","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.014279307Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:45:14.014288566Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.014450425Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"":"io task","client":"1","":"downstairs","session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.014478081Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"":"io task","client":"2","":"downstairs","session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.01448924Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"":"io task","client":"0","":"downstairs","session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.014613864Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"task":"crutest"} {"msg":"The guest has requested activation with gen:90","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.014628742Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499} {"msg":"a0488bcf-7c63-47b5-b6f0-ab7eaafe0275 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.014652089Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.014661748Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"client":"0","":"downstairs","session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.014673516Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"client":"1","":"downstairs","session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.014683545Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"client":"2","":"downstairs","session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.014716231Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"":"io task","client":"2","":"downstairs","session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.014739668Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"":"io task","client":"0","":"downstairs","session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.014750426Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"":"io task","client":"1","":"downstairs","session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"ds_connection connected from Ok(127.0.0.1:65276)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.014761315Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"":"io task","client":"0","":"downstairs","session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"ds_connection connected from Ok(127.0.0.1:62497)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.014776163Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"":"io task","client":"2","":"downstairs","session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"ds_connection connected from Ok(127.0.0.1:41867)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.014928254Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"":"io task","client":"1","":"downstairs","session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.015359078Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"client":"1","":"downstairs","session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.015406282Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"client":"0","":"downstairs","session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.015493061Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"client":"2","":"downstairs","session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.015677718Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.015700605Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"[0]R flush_numbers[0..12]: [134, 135, 139, 139, 138, 129, 138, 140, 131, 135, 130, 139]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.015758567Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"":"downstairs","":"downstairs","session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"[0]R generation[0..12]: [85, 86, 88, 88, 87, 83, 87, 89, 84, 86, 84, 88]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.015770476Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"":"downstairs","":"downstairs","session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.015784094Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"":"downstairs","":"downstairs","session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"[1]R flush_numbers[0..12]: [134, 135, 139, 139, 138, 129, 138, 140, 131, 135, 130, 139]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.015795023Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"":"downstairs","":"downstairs","session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"[1]R generation[0..12]: [85, 86, 88, 88, 87, 83, 87, 89, 84, 86, 84, 88]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.015805471Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"":"downstairs","":"downstairs","session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.01581659Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"":"downstairs","":"downstairs","session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"[2]R flush_numbers[0..12]: [134, 135, 139, 139, 138, 129, 138, 140, 131, 135, 130, 139]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.015827628Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"":"downstairs","":"downstairs","session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"[2]R generation[0..12]: [85, 86, 88, 88, 87, 83, 87, 89, 84, 86, 84, 88]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.015838267Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"":"downstairs","":"downstairs","session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.015849336Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"":"downstairs","":"downstairs","session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"Max found gen is 90","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.015858904Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"":"downstairs","":"downstairs","session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"Generation requested: 90 >= found:90","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.015868843Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"":"downstairs","":"downstairs","session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"Next flush: 141","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.015878442Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"":"downstairs","":"downstairs","session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.015888001Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"":"downstairs","":"downstairs","session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.015897879Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.015906848Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"client":"0","":"downstairs","session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.015916827Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"client":"1","":"downstairs","session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.015927765Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"client":"2","":"downstairs","session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.015937814Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.015947303Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"a0488bcf-7c63-47b5-b6f0-ab7eaafe0275 is now active with session: 81bcbd9d-ab15-404c-ae77-bcbb6151473b","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.015957442Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.015966501Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"session_id":"81bcbd9d-ab15-404c-ae77-bcbb6151473b"} {"msg":"The guest has finished waiting for activation with:90","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.015975779Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499} {"msg":"Activated sub_volume a0488bcf-7c63-47b5-b6f0-ab7eaafe0275","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.015984258Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.015992477Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.016343872Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"task":"crutest"} 01/30 Write block 384 len 24576 data: 7 4 5 5 7 6 02/30 Write block 544 len 12288 data: 11 10 8 03/30 Write block 68 len 40960 data: 7 8 10 10 9 8 7 5 4 3 04/30 Write block 472 len 24576 data: 10 11 9 8 11 11 05/30 Read block 68 len 36864 06/30 Flush 07/30 Flush 08/30 Write block 367 len 4096 data: 7 09/30 Write block 443 len 40960 data: 8 8 7 5 4 5 7 6 7 7 10/30 Read block 524 len 40960 11/30 Read block 280 len 24576 12/30 Read block 347 len 16384 13/30 Flush 14/30 Write block 403 len 20480 data: 12 11 9 9 8 15/30 Flush 16/30 Write block 74 len 8192 data: 8 6 17/30 Read block 150 len 24576 18/30 Read block 276 len 12288 19/30 Read block 262 len 36864 20/30 Read block 48 len 12288 21/30 Read block 251 len 24576 22/30 Write block 514 len 4096 data: 8 23/30 Read block 7 len 20480 24/30 Flush 25/30 Write block 295 len 36864 data: 11 11 13 14 13 12 8 7 7 26/30 Write block 208 len 40960 data: 9 7 7 8 6 5 5 6 6 7 27/30 Write block 11 len 4096 data: 11 28/30 Write block 48 len 16384 data: 7 6 6 5 29/30 Write block 327 len 40960 data: 8 8 10 9 8 7 7 6 5 4 30/30 Read block 108 len 36864 ---------------------------------------------------------------- Crucible gen:90 GIO:true work queues: Upstairs:0 downstairs:24 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1006 Acked Flush 0 Done Done Sent false 1007 Acked Write 1 Done Done Sent false 1008 Acked Write 10 Done Done Sent false 1009 Acked Read 10 Done Done Sent false 1010 Acked Read 6 Done Done Sent false 1011 Acked Read 4 Done Done Sent false 1012 Acked Flush 0 Done Done Sent false 1013 Acked Write 5 Done Done Sent false 1014 Acked Flush 0 Done Done Sent false 1015 Acked Write 2 Done Done Sent false 1016 Acked Read 6 Done Done Sent false 1017 Acked Read 3 Done Done Sent false 1018 Acked Read 9 Done Done Sent false 1019 Acked Read 3 Done Done Sent false 1020 Acked Read 6 Done Done Sent false 1021 Acked Write 1 Done Done Sent false 1022 Acked Read 5 Done Done Sent false 1023 Acked Flush 0 Done Done Sent false 1024 Acked Write 9 Done Done Sent false 1025 Acked Write 10 Done Done Sent false 1026 Acked Write 1 Done Done Sent false 1027 Acked Write 4 Done Done Sent false 1028 Acked Write 10 Done Done Sent false 1029 Acked Read 9 Done Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 0 1 24 25 Done 24 23 0 47 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1023)) Some(JobId(1023)) Some(JobId(1005)) Downstairs last five completed: 1005 1004 1003 1002 1001 Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:45:14.024339317Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:14.02462877Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1499,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 85 85 85 134 134 134 T T F <--- 1 020-039 86 86 86 135 135 135 F F F 2 040-059 88 88 88 139 139 139 T T F <--- 3 060-079 90 90 90 145 145 141 F F F <--- 4 080-099 87 87 87 138 138 138 F F F 5 100-119 83 83 83 129 129 129 F F F 6 120-139 87 87 87 138 138 138 F F F 7 140-159 89 89 89 140 140 140 F F F 8 160-179 84 84 84 131 131 131 F F F 9 180-199 86 86 86 135 135 135 F F F 10 200-219 84 84 84 130 130 130 T T F <--- 11 220-239 88 88 88 139 139 139 F F F 12 240-259 89 89 89 140 140 140 F F F 13 260-279 89 89 89 140 140 140 F F F 14 280-299 81 81 81 122 122 122 T T F <--- 15 300-319 89 89 89 140 140 140 T T F <--- 16 320-339 86 86 86 135 135 135 T T F <--- 17 340-359 87 87 87 138 138 138 F F F 18 360-379 90 90 86 143 143 135 F F F <--- 19 380-399 90 90 90 141 141 141 F F F 20 400-419 90 90 89 144 144 140 F F F <--- 21 420-439 88 88 88 139 139 139 F F F 22 440-459 90 90 81 143 143 122 F F F <--- 23 460-479 90 90 90 141 141 141 F F F 24 480-499 89 89 89 140 140 140 F F F 25 500-519 90 90 88 145 145 139 F F F <--- 26 520-539 70 70 70 109 109 109 F F F 27 540-559 90 90 90 141 141 141 F F F 28 560-579 81 81 81 122 122 122 F F F 29 580-599 79 79 79 120 120 120 F F F Max gen: 90, Max flush: 145 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 45 Verifying data now No change after verify Loop: 45 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 91 91 91 146 146 146 F F F 1 020-039 86 86 86 135 135 135 F F F 2 040-059 91 91 91 146 146 146 F F F 3 060-079 90 90 90 145 145 145 F F F 4 080-099 87 87 87 138 138 138 F F F 5 100-119 83 83 83 129 129 129 F F F 6 120-139 87 87 87 138 138 138 F F F 7 140-159 89 89 89 140 140 140 F F F 8 160-179 84 84 84 131 131 131 F F F 9 180-199 86 86 86 135 135 135 F F F 10 200-219 91 91 91 146 146 146 F F F 11 220-239 88 88 88 139 139 139 F F F 12 240-259 89 89 89 140 140 140 F F F 13 260-279 89 89 89 140 140 140 F F F 14 280-299 91 91 91 146 146 146 F F F 15 300-319 91 91 91 146 146 146 F F F 16 320-339 91 91 91 146 146 146 F F F 17 340-359 87 87 87 138 138 138 F F F 18 360-379 90 90 90 143 143 143 F F F 19 380-399 90 90 90 141 141 141 F F F 20 400-419 90 90 90 144 144 144 F F F 21 420-439 88 88 88 139 139 139 F F F 22 440-459 90 90 90 143 143 143 F F F 23 460-479 90 90 90 141 141 141 F F F 24 480-499 89 89 89 140 140 140 F F F 25 500-519 90 90 90 145 145 145 F F F 26 520-539 70 70 70 109 109 109 F F F 27 540-559 90 90 90 141 141 141 F F F 28 560-579 81 81 81 122 122 122 F F F 29 580-599 79 79 79 120 120 120 F F F Max gen: 91, Max flush: 146 Begin loop 46 Downstairs to restart: 2 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.262714836Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.270861441Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.271164692Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.271193379Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.271202168Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.271213586Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507} {"msg":"Crucible 4b91a360-0797-4940-b92b-86f5452da9b7 has session id: 6248a83a-4e7a-45d8-865e-79e2f0f83973","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.271646391Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"Upstairs opts: Upstairs UUID: 4b91a360-0797-4940-b92b-86f5452da9b7, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.271668378Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"Crucible stats registered with UUID: 4b91a360-0797-4940-b92b-86f5452da9b7","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.271678447Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:45:18.271688845Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.271855594Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"":"io task","client":"1","":"downstairs","session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.271870992Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"":"io task","client":"2","":"downstairs","session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.271881301Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"":"io task","client":"0","":"downstairs","session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.272000725Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"task":"crutest"} {"msg":"The guest has requested activation with gen:92","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.27204101Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507} {"msg":"4b91a360-0797-4940-b92b-86f5452da9b7 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.272052079Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.272061297Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"client":"0","":"downstairs","session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.272071306Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"client":"1","":"downstairs","session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.272081095Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"client":"2","":"downstairs","session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.272090884Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"":"io task","client":"2","":"downstairs","session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.272109421Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"":"io task","client":"1","":"downstairs","session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.272154905Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"":"io task","client":"0","":"downstairs","session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"ds_connection connected from Ok(127.0.0.1:35744)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.272165964Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"":"io task","client":"2","":"downstairs","session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"ds_connection connected from Ok(127.0.0.1:53355)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.272176343Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"":"io task","client":"1","":"downstairs","session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"ds_connection connected from Ok(127.0.0.1:56296)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.27227846Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"":"io task","client":"0","":"downstairs","session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.272799113Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"client":"1","":"downstairs","session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.272815341Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"client":"2","":"downstairs","session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.272826519Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"client":"0","":"downstairs","session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.273148858Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.273194742Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"[0]R flush_numbers[0..12]: [146, 135, 146, 145, 138, 129, 138, 140, 131, 135, 146, 139]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.273237537Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"":"downstairs","":"downstairs","session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"[0]R generation[0..12]: [91, 86, 91, 90, 87, 83, 87, 89, 84, 86, 91, 88]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.273248945Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"":"downstairs","":"downstairs","session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.273260174Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"":"downstairs","":"downstairs","session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"[1]R flush_numbers[0..12]: [146, 135, 146, 145, 138, 129, 138, 140, 131, 135, 146, 139]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.273271052Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"":"downstairs","":"downstairs","session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"[1]R generation[0..12]: [91, 86, 91, 90, 87, 83, 87, 89, 84, 86, 91, 88]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.273281481Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"":"downstairs","":"downstairs","session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.27329247Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"":"downstairs","":"downstairs","session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"[2]R flush_numbers[0..12]: [146, 135, 146, 145, 138, 129, 138, 140, 131, 135, 146, 139]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.273303238Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"":"downstairs","":"downstairs","session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"[2]R generation[0..12]: [91, 86, 91, 90, 87, 83, 87, 89, 84, 86, 91, 88]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.273313707Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"":"downstairs","":"downstairs","session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.273324755Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"":"downstairs","":"downstairs","session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"Max found gen is 92","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.273334324Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"":"downstairs","":"downstairs","session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"Generation requested: 92 >= found:92","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.273344123Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"":"downstairs","":"downstairs","session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"Next flush: 147","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.273353662Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"":"downstairs","":"downstairs","session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.2733632Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"":"downstairs","":"downstairs","session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.273373429Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.273382508Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"client":"0","":"downstairs","session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.273393847Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"client":"1","":"downstairs","session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.273403905Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"client":"2","":"downstairs","session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.273414274Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.273423873Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"4b91a360-0797-4940-b92b-86f5452da9b7 is now active with session: 6248a83a-4e7a-45d8-865e-79e2f0f83973","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.273434101Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.27344312Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"session_id":"6248a83a-4e7a-45d8-865e-79e2f0f83973"} {"msg":"The guest has finished waiting for activation with:92","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.273452389Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507} {"msg":"Activated sub_volume 4b91a360-0797-4940-b92b-86f5452da9b7","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.273460628Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.273468957Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.273785596Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"task":"crutest"} 01/30 Flush 02/30 Write block 570 len 12288 data: 6 7 10 03/30 Write block 180 len 20480 data: 8 7 9 7 5 04/30 Write block 106 len 12288 data: 9 9 9 05/30 Write block 124 len 8192 data: 4 4 06/30 Write block 485 len 4096 data: 6 07/30 Flush 08/30 Write block 259 len 12288 data: 7 6 6 09/30 Write block 582 len 16384 data: 9 10 9 8 10/30 Write block 223 len 24576 data: 13 15 14 14 11 11 11/30 Write block 465 len 24576 data: 4 6 6 7 8 9 12/30 Read block 43 len 24576 13/30 Write block 371 len 40960 data: 10 10 9 10 7 7 7 7 6 4 14/30 Read block 140 len 16384 15/30 Write block 399 len 24576 data: 9 10 10 11 13 12 16/30 Flush 17/30 Flush 18/30 Write block 27 len 32768 data: 6 8 9 9 11 10 12 13 19/30 Read block 478 len 28672 20/30 Read block 231 len 28672 21/30 Write block 372 len 40960 data: 11 10 11 8 8 8 8 7 5 4 22/30 Read block 32 len 8192 23/30 Write block 130 len 20480 data: 8 9 8 10 7 24/30 Write block 206 len 32768 data: 7 8 10 8 8 9 7 6 25/30 Write block 123 len 12288 data: 5 5 5 26/30 Read block 103 len 28672 27/30 Write block 585 len 28672 data: 9 8 7 8 7 7 7 28/30 Read block 552 len 32768 29/30 Write block 391 len 32768 data: 8 8 9 6 6 6 7 7 30/30 Write block 119 len 20480 data: 4 6 6 6 6 ---------------------------------------------------------------- Crucible gen:92 GIO:true work queues: Upstairs:0 downstairs:23 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1007 Acked Write 3 Done Done Done false 1008 Acked Write 4 Done Done Sent false 1009 Acked Write 6 Done Done Sent false 1010 Acked Write 6 Done Done Sent false 1011 Acked Read 6 Done Done Sent false 1012 Acked Write 10 Done Done Sent false 1013 Acked Read 4 Done Done Sent false 1014 Acked Write 6 Done Done Sent false 1015 Acked Flush 0 Done Done Sent false 1016 Acked Flush 0 Done Done Sent false 1017 Acked Write 8 Done Done Sent false 1018 Acked Read 7 Done Done Sent false 1019 Acked Read 7 Done Done Sent false 1020 Acked Write 10 Done Done Sent false 1021 Acked Read 2 Done Done Sent false 1022 Acked Write 5 Done Done Sent false 1023 Acked Write 8 Done Done Sent false 1024 Acked Write 3 Done Done Sent false 1025 Acked Read 7 Done Done Sent false 1026 Acked Write 7 Done Done Sent false 1027 Acked Read 8 Done Done Sent false 1028 Acked Write 8 Sent Sent Sent false 1029 Acked Write 5 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 2 2 22 26 Done 21 21 1 43 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1016)) Some(JobId(1016)) Some(JobId(1006)) Downstairs last five completed: 1006 1005 1004 1003 1002 Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:45:18.281421577Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:18.281693172Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1507,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 91 91 91 146 146 146 F F F 1 020-039 86 86 86 135 135 135 T T F <--- 2 040-059 91 91 91 146 146 146 F F F 3 060-079 90 90 90 145 145 145 F F F 4 080-099 87 87 87 138 138 138 F F F 5 100-119 92 92 92 148 148 148 T T F <--- 6 120-139 92 92 92 148 148 148 T T F <--- 7 140-159 89 89 89 140 140 140 F F F 8 160-179 84 84 84 131 131 131 F F F 9 180-199 92 92 92 148 148 148 F F F 10 200-219 91 91 91 146 146 146 T T F <--- 11 220-239 92 92 88 149 149 139 F F F <--- 12 240-259 92 92 89 149 149 140 F F T <--- 13 260-279 92 92 89 149 149 140 F F T <--- 14 280-299 91 91 91 146 146 146 F F F 15 300-319 91 91 91 146 146 146 F F F 16 320-339 91 91 91 146 146 146 F F F 17 340-359 87 87 87 138 138 138 F F F 18 360-379 92 92 90 149 149 143 T T F <--- 19 380-399 92 92 90 149 149 141 T T F <--- 20 400-419 92 92 90 149 149 144 F F F <--- 21 420-439 88 88 88 139 139 139 F F F 22 440-459 90 90 90 143 143 143 F F F 23 460-479 92 92 90 149 149 141 F F F <--- 24 480-499 92 92 92 148 148 148 F F F 25 500-519 90 90 90 145 145 145 F F F 26 520-539 70 70 70 109 109 109 F F F 27 540-559 90 90 90 141 141 141 F F F 28 560-579 92 92 92 148 148 148 F F F 29 580-599 92 92 79 149 149 120 T T F <--- Max gen: 92, Max flush: 149 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 46 Verifying data now No change after verify Loop: 46 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 91 91 91 146 146 146 F F F 1 020-039 93 93 93 150 150 150 F F F 2 040-059 91 91 91 146 146 146 F F F 3 060-079 90 90 90 145 145 145 F F F 4 080-099 87 87 87 138 138 138 F F F 5 100-119 93 93 93 150 150 150 F F F 6 120-139 93 93 93 150 150 150 F F F 7 140-159 89 89 89 140 140 140 F F F 8 160-179 84 84 84 131 131 131 F F F 9 180-199 92 92 92 148 148 148 F F F 10 200-219 93 93 93 150 150 150 F F F 11 220-239 92 92 92 149 149 149 F F F 12 240-259 92 92 92 149 149 149 F F F 13 260-279 92 92 92 149 149 149 F F F 14 280-299 91 91 91 146 146 146 F F F 15 300-319 91 91 91 146 146 146 F F F 16 320-339 91 91 91 146 146 146 F F F 17 340-359 87 87 87 138 138 138 F F F 18 360-379 93 93 93 150 150 150 F F F 19 380-399 93 93 93 150 150 150 F F F 20 400-419 92 92 92 149 149 149 F F F 21 420-439 88 88 88 139 139 139 F F F 22 440-459 90 90 90 143 143 143 F F F 23 460-479 92 92 92 149 149 149 F F F 24 480-499 92 92 92 148 148 148 F F F 25 500-519 90 90 90 145 145 145 F F F 26 520-539 70 70 70 109 109 109 F F F 27 540-559 90 90 90 141 141 141 F F F 28 560-579 92 92 92 148 148 148 F F F 29 580-599 93 93 93 150 150 150 F F F Max gen: 93, Max flush: 150 Begin loop 47 Downstairs to restart: 1 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.523751328Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.531857549Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.532197195Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.532231481Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.53224092Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.532253128Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515} {"msg":"Crucible ce967a8e-c4b1-48c4-be62-15459877394a has session id: 95754ac3-eed2-4c08-9781-435fc8da566d","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.532609882Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"Upstairs opts: Upstairs UUID: ce967a8e-c4b1-48c4-be62-15459877394a, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.53262875Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"Crucible stats registered with UUID: ce967a8e-c4b1-48c4-be62-15459877394a","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.532638839Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:45:22.532648647Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.532806457Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"":"io task","client":"1","":"downstairs","session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.532821945Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"":"io task","client":"0","":"downstairs","session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.532832144Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"":"io task","client":"2","":"downstairs","session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.532964247Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"task":"crutest"} {"msg":"The guest has requested activation with gen:94","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.532988084Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515} {"msg":"ce967a8e-c4b1-48c4-be62-15459877394a active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.533012361Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.533021789Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"client":"0","":"downstairs","session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.533031568Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"client":"1","":"downstairs","session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.533041407Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"client":"2","":"downstairs","session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.533051076Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"":"io task","client":"2","":"downstairs","session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.533061374Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"":"io task","client":"0","":"downstairs","session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.533071763Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"":"io task","client":"1","":"downstairs","session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"ds_connection connected from Ok(127.0.0.1:39725)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.533120097Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"":"io task","client":"2","":"downstairs","session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"ds_connection connected from Ok(127.0.0.1:36722)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.533131115Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"":"io task","client":"1","":"downstairs","session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"ds_connection connected from Ok(127.0.0.1:52678)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.533201836Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"":"io task","client":"0","":"downstairs","session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.533826486Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"client":"2","":"downstairs","session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.533838325Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"client":"0","":"downstairs","session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.533849363Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"client":"1","":"downstairs","session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.534149285Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.534173582Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"[0]R flush_numbers[0..12]: [146, 150, 146, 145, 138, 150, 150, 140, 131, 148, 150, 149]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.53418431Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"":"downstairs","":"downstairs","session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"[0]R generation[0..12]: [91, 93, 91, 90, 87, 93, 93, 89, 84, 92, 93, 92]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.534195759Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"":"downstairs","":"downstairs","session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.534207127Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"":"downstairs","":"downstairs","session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"[1]R flush_numbers[0..12]: [146, 150, 146, 145, 138, 150, 150, 140, 131, 148, 150, 149]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.534218106Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"":"downstairs","":"downstairs","session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"[1]R generation[0..12]: [91, 93, 91, 90, 87, 93, 93, 89, 84, 92, 93, 92]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.534228735Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"":"downstairs","":"downstairs","session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.534239743Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"":"downstairs","":"downstairs","session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"[2]R flush_numbers[0..12]: [146, 150, 146, 145, 138, 150, 150, 140, 131, 148, 150, 149]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.534250482Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"":"downstairs","":"downstairs","session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"[2]R generation[0..12]: [91, 93, 91, 90, 87, 93, 93, 89, 84, 92, 93, 92]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.5342611Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"":"downstairs","":"downstairs","session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.534272569Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"":"downstairs","":"downstairs","session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"Max found gen is 94","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.534282248Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"":"downstairs","":"downstairs","session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"Generation requested: 94 >= found:94","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.534292087Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"":"downstairs","":"downstairs","session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"Next flush: 151","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.534301805Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"":"downstairs","":"downstairs","session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.534311394Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"":"downstairs","":"downstairs","session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.534323852Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.534333041Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"client":"0","":"downstairs","session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.53434343Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"client":"1","":"downstairs","session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.534353299Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"client":"2","":"downstairs","session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.534363427Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.534372786Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"ce967a8e-c4b1-48c4-be62-15459877394a is now active with session: 95754ac3-eed2-4c08-9781-435fc8da566d","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.534382965Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.534391934Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"session_id":"95754ac3-eed2-4c08-9781-435fc8da566d"} {"msg":"The guest has finished waiting for activation with:94","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.534401292Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515} {"msg":"Activated sub_volume ce967a8e-c4b1-48c4-be62-15459877394a","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.534409531Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.53441785Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.534720172Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"task":"crutest"} 01/30 Write block 297 len 16384 data: 14 15 14 13 02/30 Flush 03/30 Write block 381 len 28672 data: 5 5 7 8 5 6 6 04/30 Flush 05/30 Write block 411 len 12288 data: 8 7 7 06/30 Write block 76 len 4096 data: 5 07/30 Flush 08/30 Write block 409 len 36864 data: 6 8 9 8 8 7 5 5 5 09/30 Read block 203 len 12288 10/30 Read block 7 len 32768 11/30 Read block 289 len 40960 12/30 Write block 546 len 8192 data: 9 10 13/30 Read block 523 len 40960 14/30 Read block 201 len 12288 15/30 Write block 458 len 28672 data: 9 5 8 8 9 9 7 16/30 Flush 17/30 Write block 149 len 32768 data: 7 8 6 5 5 6 8 7 18/30 Flush 19/30 Write block 249 len 32768 data: 8 8 7 7 7 6 6 7 20/30 Write block 332 len 36864 data: 8 8 7 6 5 5 5 6 7 21/30 Read block 497 len 32768 22/30 Write block 97 len 8192 data: 6 8 23/30 Read block 211 len 24576 24/30 Read block 2 len 28672 25/30 Write block 346 len 36864 data: 12 10 9 10 8 7 6 7 9 26/30 Read block 571 len 32768 27/30 Read block 115 len 32768 28/30 Read block 248 len 40960 29/30 Write block 283 len 20480 data: 9 9 11 11 11 30/30 Write block 213 len 32768 data: 7 6 7 7 8 6 6 7 ---------------------------------------------------------------- Crucible gen:94 GIO:true work queues: Upstairs:0 downstairs:23 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1007 Acked Write 9 Done Done Done false 1008 Acked Read 3 Done Done Done false 1009 Acked Read 8 Done Done Done false 1010 Acked Read 10 Done Sent Done false 1011 Acked Write 2 Done Sent Done false 1012 Acked Read 10 Done Sent Done false 1013 Acked Read 3 Done Sent Done false 1014 Acked Write 7 Done Sent Done false 1015 Acked Flush 0 Done Sent Done false 1016 Acked Write 8 Done Sent Done false 1017 Acked Flush 0 Done Sent Done false 1018 Acked Write 8 Done Sent Done false 1019 Acked Write 9 Done Sent Done false 1020 Acked Read 8 Done Sent Done false 1021 Acked Write 2 Done Sent Done false 1022 Acked Read 6 Done Sent Done false 1023 Acked Read 7 Done Sent Done false 1024 Acked Write 9 Done Sent Done false 1025 Acked Read 8 Done Sent Done false 1026 Acked Read 8 Done Sent Done false 1027 Acked Read 10 Done Sent Done false 1028 Acked Write 5 Sent Sent Sent false 1029 Acked Write 8 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 2 20 2 24 Done 21 3 21 45 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1017)) Some(JobId(1006)) Some(JobId(1017)) Downstairs last five completed: 1006 1005 1004 1003 1002 Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:45:22.543417526Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:22.543680982Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1515,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 91 91 91 146 146 146 F F F 1 020-039 93 93 93 150 150 150 F F F 2 040-059 91 91 91 146 146 146 F F F 3 060-079 94 94 94 153 153 153 F F F 4 080-099 87 87 87 138 138 138 T F T <--- 5 100-119 93 93 93 150 150 150 F F F 6 120-139 93 93 93 150 150 150 F F F 7 140-159 94 89 94 155 140 155 F F F <--- 8 160-179 84 84 84 131 131 131 F F F 9 180-199 92 92 92 148 148 148 F F F 10 200-219 93 93 93 150 150 150 T F T <--- 11 220-239 92 92 92 149 149 149 T F T <--- 12 240-259 92 92 92 149 149 149 T F T <--- 13 260-279 92 92 92 149 149 149 F F F 14 280-299 94 94 94 151 151 151 T F T <--- 15 300-319 94 94 94 151 151 151 F F F 16 320-339 91 91 91 146 146 146 T F T <--- 17 340-359 87 87 87 138 138 138 T F T <--- 18 360-379 93 93 93 150 150 150 F F F 19 380-399 94 94 94 152 152 152 F F F 20 400-419 94 94 94 154 153 154 F T F <--- 21 420-439 88 88 88 139 139 139 F F F 22 440-459 94 90 94 154 143 154 F F F <--- 23 460-479 94 92 94 154 149 154 F F F <--- 24 480-499 92 92 92 148 148 148 F F F 25 500-519 90 90 90 145 145 145 F F F 26 520-539 70 70 70 109 109 109 F F F 27 540-559 94 90 94 154 141 154 F F F <--- 28 560-579 92 92 92 148 148 148 F F F 29 580-599 93 93 93 150 150 150 F F F Max gen: 94, Max flush: 155 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 47 Verifying data now No change after verify Loop: 47 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 91 91 91 146 146 146 F F F 1 020-039 93 93 93 150 150 150 F F F 2 040-059 91 91 91 146 146 146 F F F 3 060-079 94 94 94 153 153 153 F F F 4 080-099 95 95 95 156 156 156 F F F 5 100-119 93 93 93 150 150 150 F F F 6 120-139 93 93 93 150 150 150 F F F 7 140-159 94 94 94 155 155 155 F F F 8 160-179 84 84 84 131 131 131 F F F 9 180-199 92 92 92 148 148 148 F F F 10 200-219 95 95 95 156 156 156 F F F 11 220-239 95 95 95 156 156 156 F F F 12 240-259 95 95 95 156 156 156 F F F 13 260-279 92 92 92 149 149 149 F F F 14 280-299 95 95 95 156 156 156 F F F 15 300-319 94 94 94 151 151 151 F F F 16 320-339 95 95 95 156 156 156 F F F 17 340-359 95 95 95 156 156 156 F F F 18 360-379 93 93 93 150 150 150 F F F 19 380-399 94 94 94 152 152 152 F F F 20 400-419 94 94 94 154 154 154 F F F 21 420-439 88 88 88 139 139 139 F F F 22 440-459 94 94 94 154 154 154 F F F 23 460-479 94 94 94 154 154 154 F F F 24 480-499 92 92 92 148 148 148 F F F 25 500-519 90 90 90 145 145 145 F F F 26 520-539 70 70 70 109 109 109 F F F 27 540-559 94 94 94 154 154 154 F F F 28 560-579 92 92 92 148 148 148 F F F 29 580-599 93 93 93 150 150 150 F F F Max gen: 95, Max flush: 156 Begin loop 48 Downstairs to restart: 2 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.784765132Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.79289553Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.793237846Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.793266192Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.793274801Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.79328646Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523} {"msg":"Crucible e4b2bd40-2f65-4545-a011-ff892334db6c has session id: 7728788f-3177-4f88-b334-46d4a63b7970","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.793707926Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"Upstairs opts: Upstairs UUID: e4b2bd40-2f65-4545-a011-ff892334db6c, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.793737722Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"Crucible stats registered with UUID: e4b2bd40-2f65-4545-a011-ff892334db6c","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.79374877Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:45:26.793758489Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.79390681Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"":"io task","client":"1","":"downstairs","session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.793922078Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"":"io task","client":"0","":"downstairs","session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.793934537Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"":"io task","client":"2","":"downstairs","session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.794071069Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"task":"crutest"} {"msg":"The guest has requested activation with gen:96","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.794098685Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523} {"msg":"e4b2bd40-2f65-4545-a011-ff892334db6c active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.794116233Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.794125222Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"client":"0","":"downstairs","session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.794135191Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"client":"1","":"downstairs","session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.79414491Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"client":"2","":"downstairs","session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.794158328Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"":"io task","client":"2","":"downstairs","session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.794169046Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"":"io task","client":"1","":"downstairs","session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.794226039Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"":"io task","client":"0","":"downstairs","session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"ds_connection connected from Ok(127.0.0.1:54931)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.794237468Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"":"io task","client":"1","":"downstairs","session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"ds_connection connected from Ok(127.0.0.1:42366)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.794247846Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"":"io task","client":"2","":"downstairs","session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"ds_connection connected from Ok(127.0.0.1:36750)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.794404046Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"":"io task","client":"0","":"downstairs","session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.794897743Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"client":"1","":"downstairs","session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.794913211Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"client":"0","":"downstairs","session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.795015698Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"client":"2","":"downstairs","session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.795246028Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.795269215Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"[0]R flush_numbers[0..12]: [146, 150, 146, 153, 156, 150, 150, 155, 131, 148, 156, 156]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.795324178Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"":"downstairs","":"downstairs","session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"[0]R generation[0..12]: [91, 93, 91, 94, 95, 93, 93, 94, 84, 92, 95, 95]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.795335937Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"":"downstairs","":"downstairs","session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.795347365Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"":"downstairs","":"downstairs","session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"[1]R flush_numbers[0..12]: [146, 150, 146, 153, 156, 150, 150, 155, 131, 148, 156, 156]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.795358184Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"":"downstairs","":"downstairs","session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"[1]R generation[0..12]: [91, 93, 91, 94, 95, 93, 93, 94, 84, 92, 95, 95]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.795368653Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"":"downstairs","":"downstairs","session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.795379631Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"":"downstairs","":"downstairs","session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"[2]R flush_numbers[0..12]: [146, 150, 146, 153, 156, 150, 150, 155, 131, 148, 156, 156]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.79539037Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"":"downstairs","":"downstairs","session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"[2]R generation[0..12]: [91, 93, 91, 94, 95, 93, 93, 94, 84, 92, 95, 95]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.795401278Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"":"downstairs","":"downstairs","session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.795412317Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"":"downstairs","":"downstairs","session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"Max found gen is 96","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.795422036Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"":"downstairs","":"downstairs","session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"Generation requested: 96 >= found:96","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.795431934Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"":"downstairs","":"downstairs","session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"Next flush: 157","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.795441553Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"":"downstairs","":"downstairs","session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.795452902Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"":"downstairs","":"downstairs","session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.795462741Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.795471779Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"client":"0","":"downstairs","session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.795481698Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"client":"1","":"downstairs","session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.795491547Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"client":"2","":"downstairs","session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.795501466Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.795510834Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"e4b2bd40-2f65-4545-a011-ff892334db6c is now active with session: 7728788f-3177-4f88-b334-46d4a63b7970","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.795520893Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.795529782Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"session_id":"7728788f-3177-4f88-b334-46d4a63b7970"} {"msg":"The guest has finished waiting for activation with:96","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.795538931Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523} {"msg":"Activated sub_volume e4b2bd40-2f65-4545-a011-ff892334db6c","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.7955472Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.795555859Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.795867259Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"task":"crutest"} 01/30 Flush 02/30 Write block 489 len 36864 data: 7 8 6 7 7 7 7 6 6 03/30 Read block 54 len 40960 04/30 Read block 80 len 16384 05/30 Read block 135 len 28672 06/30 Write block 392 len 36864 data: 9 10 7 7 7 8 8 10 11 07/30 Write block 416 len 20480 data: 6 6 8 10 10 08/30 Read block 478 len 24576 09/30 Read block 271 len 36864 10/30 Write block 441 len 4096 data: 5 11/30 Read block 379 len 36864 12/30 Read block 535 len 20480 13/30 Read block 56 len 32768 14/30 Read block 39 len 4096 15/30 Write block 381 len 36864 data: 6 6 8 9 6 7 7 8 7 16/30 Write block 246 len 8192 data: 9 7 17/30 Read block 93 len 36864 18/30 Write block 287 len 32768 data: 12 12 11 8 7 9 9 11 19/30 Read block 416 len 28672 20/30 Read block 3 len 24576 21/30 Read block 21 len 40960 22/30 Write block 91 len 20480 data: 11 10 11 10 8 23/30 Write block 311 len 12288 data: 5 6 6 24/30 Flush 25/30 Write block 583 len 8192 data: 11 10 26/30 Flush 27/30 Write block 97 len 32768 data: 7 9 8 7 7 9 9 8 28/30 Read block 566 len 12288 29/30 Write block 373 len 8192 data: 11 12 30/30 Read block 503 len 4096 ---------------------------------------------------------------- Crucible gen:96 GIO:true work queues: Upstairs:0 downstairs:29 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1001 Acked Write 9 Done Done Done false 1002 Acked Read 10 Done Done Done false 1003 Acked Read 4 Done Done Done false 1004 Acked Read 7 Done Done Done false 1005 Acked Write 9 Done Done Done false 1006 Acked Write 5 Done Done Sent false 1007 Acked Read 6 Done Done Sent false 1008 Acked Read 9 Done Done Sent false 1009 Acked Write 1 Done Done Sent false 1010 Acked Read 9 Done Done Sent false 1011 Acked Read 5 Done Done Sent false 1012 Acked Read 8 Done Done Sent false 1013 Acked Read 1 Done Done Sent false 1014 Acked Write 9 Done Done Sent false 1015 Acked Write 2 Done Done Sent false 1016 Acked Read 9 Done Done Sent false 1017 Acked Write 8 Done Done Sent false 1018 Acked Read 7 Done Done Sent false 1019 Acked Read 6 Done Done Sent false 1020 Acked Read 10 Done Done Sent false 1021 Acked Write 5 Done Done Sent false 1022 Acked Write 3 Done Done Sent false 1023 Acked Flush 0 Done Done Sent false 1024 Acked Write 2 Done Done Sent false 1025 Acked Flush 0 Done Done Sent false 1026 Acked Write 8 Done Done Sent false 1027 Acked Read 3 Done Done Sent false 1028 Acked Write 2 Done Sent Sent false 1029 Acked Read 1 Done Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 0 2 24 26 Done 29 27 5 61 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1025)) Some(JobId(1025)) Some(JobId(1000)) Downstairs last five completed: 1000 Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:45:26.803906578Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:26.804181232Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1523,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 91 91 91 146 146 146 F F F 1 020-039 93 93 93 150 150 150 F F F 2 040-059 91 91 91 146 146 146 F F F 3 060-079 94 94 94 153 153 153 F F F 4 080-099 96 96 95 158 158 156 T T F <--- 5 100-119 93 93 93 150 150 150 T T F <--- 6 120-139 93 93 93 150 150 150 F F F 7 140-159 94 94 94 155 155 155 F F F 8 160-179 84 84 84 131 131 131 F F F 9 180-199 92 92 92 148 148 148 F F F 10 200-219 95 95 95 156 156 156 F F F 11 220-239 95 95 95 156 156 156 F F F 12 240-259 96 96 95 158 158 156 F F F <--- 13 260-279 92 92 92 149 149 149 F F F 14 280-299 96 96 95 158 158 156 F F F <--- 15 300-319 96 96 94 158 158 151 F F F <--- 16 320-339 95 95 95 156 156 156 F F F 17 340-359 95 95 95 156 156 156 F F F 18 360-379 93 93 93 150 150 150 T T F <--- 19 380-399 96 96 94 158 158 152 F F T <--- 20 400-419 96 96 94 158 158 154 F F T <--- 21 420-439 96 96 88 158 158 139 F F F <--- 22 440-459 96 96 94 158 158 154 F F F <--- 23 460-479 94 94 94 154 154 154 F F F 24 480-499 96 96 92 158 158 148 F F T <--- 25 500-519 90 90 90 145 145 145 F F F 26 520-539 70 70 70 109 109 109 F F F 27 540-559 94 94 94 154 154 154 F F F 28 560-579 92 92 92 148 148 148 F F F 29 580-599 96 96 93 159 159 150 F F F <--- Max gen: 96, Max flush: 159 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 48 Verifying data now No change after verify Loop: 48 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 91 91 91 146 146 146 F F F 1 020-039 93 93 93 150 150 150 F F F 2 040-059 91 91 91 146 146 146 F F F 3 060-079 94 94 94 153 153 153 F F F 4 080-099 97 97 97 160 160 160 F F F 5 100-119 97 97 97 160 160 160 F F F 6 120-139 93 93 93 150 150 150 F F F 7 140-159 94 94 94 155 155 155 F F F 8 160-179 84 84 84 131 131 131 F F F 9 180-199 92 92 92 148 148 148 F F F 10 200-219 95 95 95 156 156 156 F F F 11 220-239 95 95 95 156 156 156 F F F 12 240-259 96 96 96 158 158 158 F F F 13 260-279 92 92 92 149 149 149 F F F 14 280-299 96 96 96 158 158 158 F F F 15 300-319 96 96 96 158 158 158 F F F 16 320-339 95 95 95 156 156 156 F F F 17 340-359 95 95 95 156 156 156 F F F 18 360-379 97 97 97 160 160 160 F F F 19 380-399 96 96 96 158 158 158 F F F 20 400-419 96 96 96 158 158 158 F F F 21 420-439 96 96 96 158 158 158 F F F 22 440-459 96 96 96 158 158 158 F F F 23 460-479 94 94 94 154 154 154 F F F 24 480-499 96 96 96 158 158 158 F F F 25 500-519 90 90 90 145 145 145 F F F 26 520-539 70 70 70 109 109 109 F F F 27 540-559 94 94 94 154 154 154 F F F 28 560-579 92 92 92 148 148 148 F F F 29 580-599 96 96 96 159 159 159 F F F Max gen: 97, Max flush: 160 Begin loop 49 Downstairs to restart: 2 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.044666809Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.052864888Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.053173258Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.053203524Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.053212593Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.053224632Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531} {"msg":"Crucible 56e02bb1-95ec-43b4-93bc-7d0bc3347730 has session id: 763e6700-0426-4bfd-9b1e-d13c17b73e03","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.053572267Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"Upstairs opts: Upstairs UUID: 56e02bb1-95ec-43b4-93bc-7d0bc3347730, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.053612242Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"Crucible stats registered with UUID: 56e02bb1-95ec-43b4-93bc-7d0bc3347730","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.05362342Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:45:31.053635209Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.05378366Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"":"io task","client":"1","":"downstairs","session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.053798458Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"":"io task","client":"0","":"downstairs","session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.053808697Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"":"io task","client":"2","":"downstairs","session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.053948979Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"task":"crutest"} {"msg":"The guest has requested activation with gen:98","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.053978625Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531} {"msg":"56e02bb1-95ec-43b4-93bc-7d0bc3347730 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.053987474Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.053996453Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"client":"0","":"downstairs","session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.0540153Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"client":"1","":"downstairs","session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.054025609Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"client":"2","":"downstairs","session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.054035338Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"":"io task","client":"2","":"downstairs","session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.054045616Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"":"io task","client":"0","":"downstairs","session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.054055665Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"":"io task","client":"1","":"downstairs","session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"ds_connection connected from Ok(127.0.0.1:57129)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.054134275Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"":"io task","client":"2","":"downstairs","session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"ds_connection connected from Ok(127.0.0.1:64760)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.054160592Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"":"io task","client":"1","":"downstairs","session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"ds_connection connected from Ok(127.0.0.1:41625)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.05417207Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"":"io task","client":"0","":"downstairs","session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.054702052Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"client":"1","":"downstairs","session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.054743327Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"client":"0","":"downstairs","session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.054819647Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"client":"2","":"downstairs","session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.055005293Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.055057447Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"[0]R flush_numbers[0..12]: [146, 150, 146, 153, 160, 160, 150, 155, 131, 148, 156, 156]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.05510504Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"":"downstairs","":"downstairs","session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"[0]R generation[0..12]: [91, 93, 91, 94, 97, 97, 93, 94, 84, 92, 95, 95]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.055117189Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"":"downstairs","":"downstairs","session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.055128717Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"":"downstairs","":"downstairs","session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"[1]R flush_numbers[0..12]: [146, 150, 146, 153, 160, 160, 150, 155, 131, 148, 156, 156]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.055139586Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"":"downstairs","":"downstairs","session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"[1]R generation[0..12]: [91, 93, 91, 94, 97, 97, 93, 94, 84, 92, 95, 95]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.055150045Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"":"downstairs","":"downstairs","session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.055161013Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"":"downstairs","":"downstairs","session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"[2]R flush_numbers[0..12]: [146, 150, 146, 153, 160, 160, 150, 155, 131, 148, 156, 156]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.055171692Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"":"downstairs","":"downstairs","session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"[2]R generation[0..12]: [91, 93, 91, 94, 97, 97, 93, 94, 84, 92, 95, 95]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.055182131Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"":"downstairs","":"downstairs","session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.055193129Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"":"downstairs","":"downstairs","session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"Max found gen is 98","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.055205108Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"":"downstairs","":"downstairs","session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"Generation requested: 98 >= found:98","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.055215096Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"":"downstairs","":"downstairs","session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"Next flush: 161","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.055224645Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"":"downstairs","":"downstairs","session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.055234184Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"":"downstairs","":"downstairs","session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.055244363Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.055253401Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"client":"0","":"downstairs","session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.05526361Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"client":"1","":"downstairs","session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.055273519Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"client":"2","":"downstairs","session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.055283488Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.055292876Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"56e02bb1-95ec-43b4-93bc-7d0bc3347730 is now active with session: 763e6700-0426-4bfd-9b1e-d13c17b73e03","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.055302885Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.055311874Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"session_id":"763e6700-0426-4bfd-9b1e-d13c17b73e03"} {"msg":"The guest has finished waiting for activation with:98","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.055321183Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531} {"msg":"Activated sub_volume 56e02bb1-95ec-43b4-93bc-7d0bc3347730","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.055329422Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.055337651Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.055624704Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"task":"crutest"} 01/30 Write block 335 len 20480 data: 7 6 6 6 7 02/30 Write block 144 len 12288 data: 8 10 9 03/30 Write block 37 len 16384 data: 9 10 7 7 04/30 Write block 412 len 20480 data: 9 9 8 6 7 05/30 Write block 56 len 20480 data: 10 11 12 11 11 06/30 Read block 306 len 28672 07/30 Read block 499 len 36864 08/30 Read block 518 len 8192 09/30 Write block 61 len 4096 data: 11 10/30 Write block 394 len 36864 data: 8 8 8 9 9 11 12 11 12 11/30 Write block 92 len 4096 data: 11 12/30 Flush 13/30 Write block 154 len 12288 data: 7 9 8 14/30 Write block 528 len 36864 data: 6 6 6 6 5 5 5 5 5 15/30 Read block 125 len 24576 16/30 Write block 504 len 24576 data: 10 9 7 9 10 10 17/30 Read block 325 len 36864 18/30 Read block 519 len 8192 19/30 Read block 378 len 24576 20/30 Write block 371 len 20480 data: 11 12 12 13 9 21/30 Read block 117 len 4096 22/30 Read block 236 len 32768 23/30 Read block 307 len 16384 24/30 Read block 350 len 36864 25/30 Read block 272 len 32768 26/30 Write block 58 len 36864 data: 13 12 12 12 10 10 8 9 8 27/30 Write block 483 len 20480 data: 9 8 7 6 6 28/30 Write block 293 len 40960 data: 10 12 12 12 15 16 15 14 9 8 29/30 Write block 380 len 20480 data: 6 7 7 9 10 30/30 Read block 247 len 12288 ---------------------------------------------------------------- Crucible gen:98 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 5 Done Done Sent false 1001 Acked Write 3 Done Done Sent false 1002 Acked Write 4 Done Done Sent false 1003 Acked Write 5 Done Done Sent false 1004 Acked Write 5 Done Done Sent false 1005 Acked Read 7 Done Done Sent false 1006 Acked Read 9 Done Done Sent false 1007 Acked Read 2 Done Done Sent false 1008 Acked Write 1 Done Done Sent false 1009 Acked Write 9 Done Done Sent false 1010 Acked Write 1 Done Done Sent false 1011 Acked Flush 0 Done Done Sent false 1012 Acked Write 3 Done Done Sent false 1013 Acked Write 9 Done Done Sent false 1014 Acked Read 6 Done Done Sent false 1015 Acked Write 6 Done Done Sent false 1016 Acked Read 9 Done Done Sent false 1017 Acked Read 2 Done Done Sent false 1018 Acked Read 6 Done Done Sent false 1019 Acked Write 5 Done Done Sent false 1020 Acked Read 1 Done Done Sent false 1021 Acked Read 8 Done Done Sent false 1022 Acked Read 4 Done Done Sent false 1023 Acked Read 9 Done Done Sent false 1024 Acked Read 8 Done Done Sent false 1025 Acked Write 9 Done Done Sent false 1026 Acked Write 5 Done Done Sent false 1027 Acked Write 10 Done Done Sent false 1028 Acked Write 5 Done Done Sent false 1029 Acked Read 3 Sent Done Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 1 0 30 31 Done 29 30 0 59 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1011)) Some(JobId(1011)) None Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:45:31.062710895Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:31.062999608Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1531,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 91 91 91 146 146 146 F F F 1 020-039 98 98 93 161 161 150 F F F <--- 2 040-059 98 98 91 161 161 146 T T F <--- 3 060-079 98 98 94 161 161 153 T T F <--- 4 080-099 98 98 97 161 161 160 F F F <--- 5 100-119 97 97 97 160 160 160 F F F 6 120-139 93 93 93 150 150 150 F F F 7 140-159 98 98 94 161 161 155 T T F <--- 8 160-179 84 84 84 131 131 131 F F F 9 180-199 92 92 92 148 148 148 F F F 10 200-219 95 95 95 156 156 156 F F F 11 220-239 95 95 95 156 156 156 F F F 12 240-259 96 96 96 158 158 158 F F F 13 260-279 92 92 92 149 149 149 F F F 14 280-299 96 96 96 158 158 158 T T F <--- 15 300-319 96 96 96 158 158 158 T T F <--- 16 320-339 98 98 95 161 161 156 F F F <--- 17 340-359 95 95 95 156 156 156 F F F 18 360-379 97 97 97 160 160 160 T T F <--- 19 380-399 98 98 96 161 161 158 T T F <--- 20 400-419 98 98 96 161 161 158 F F F <--- 21 420-439 96 96 96 158 158 158 F F F 22 440-459 96 96 96 158 158 158 F F F 23 460-479 94 94 94 154 154 154 F F F 24 480-499 96 96 96 158 158 158 T T F <--- 25 500-519 90 90 90 145 145 145 T T F <--- 26 520-539 70 70 70 109 109 109 T T F <--- 27 540-559 94 94 94 154 154 154 F F F 28 560-579 92 92 92 148 148 148 F F F 29 580-599 96 96 96 159 159 159 F F F Max gen: 98, Max flush: 161 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 49 Verifying data now No change after verify Loop: 49 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 91 91 91 146 146 146 F F F 1 020-039 98 98 98 161 161 161 F F F 2 040-059 99 99 99 162 162 162 F F F 3 060-079 99 99 99 162 162 162 F F F 4 080-099 98 98 98 161 161 161 F F F 5 100-119 97 97 97 160 160 160 F F F 6 120-139 93 93 93 150 150 150 F F F 7 140-159 99 99 99 162 162 162 F F F 8 160-179 84 84 84 131 131 131 F F F 9 180-199 92 92 92 148 148 148 F F F 10 200-219 95 95 95 156 156 156 F F F 11 220-239 95 95 95 156 156 156 F F F 12 240-259 96 96 96 158 158 158 F F F 13 260-279 92 92 92 149 149 149 F F F 14 280-299 99 99 99 162 162 162 F F F 15 300-319 99 99 99 162 162 162 F F F 16 320-339 98 98 98 161 161 161 F F F 17 340-359 95 95 95 156 156 156 F F F 18 360-379 99 99 99 162 162 162 F F F 19 380-399 99 99 99 162 162 162 F F F 20 400-419 98 98 98 161 161 161 F F F 21 420-439 96 96 96 158 158 158 F F F 22 440-459 96 96 96 158 158 158 F F F 23 460-479 94 94 94 154 154 154 F F F 24 480-499 99 99 99 162 162 162 F F F 25 500-519 99 99 99 162 162 162 F F F 26 520-539 99 99 99 162 162 162 F F F 27 540-559 94 94 94 154 154 154 F F F 28 560-579 92 92 92 148 148 148 F F F 29 580-599 96 96 96 159 159 159 F F F Max gen: 99, Max flush: 162 Begin loop 50 Downstairs to restart: 2 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.309275133Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.317428628Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.317739258Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.317768984Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.317777683Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.317789251Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539} {"msg":"Crucible 8b5d7f20-51c9-4b90-b192-8f4eaf921881 has session id: 14b02816-3fff-417d-9dc2-bcd30e5d6561","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.31818663Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"Upstairs opts: Upstairs UUID: 8b5d7f20-51c9-4b90-b192-8f4eaf921881, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.318210017Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"Crucible stats registered with UUID: 8b5d7f20-51c9-4b90-b192-8f4eaf921881","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.318220986Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:45:35.318230295Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.318400173Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"":"io task","client":"1","":"downstairs","session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.318427849Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"":"io task","client":"2","":"downstairs","session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.318438968Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"":"io task","client":"0","":"downstairs","session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.318548314Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"task":"crutest"} {"msg":"The guest has requested activation with gen:100","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.31857596Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539} {"msg":"8b5d7f20-51c9-4b90-b192-8f4eaf921881 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.318593488Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.318602637Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"client":"0","":"downstairs","session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.318612546Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"client":"1","":"downstairs","session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.318622515Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"client":"2","":"downstairs","session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.318634803Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"":"io task","client":"2","":"downstairs","session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.318645032Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"":"io task","client":"1","":"downstairs","session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.318694335Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"":"io task","client":"0","":"downstairs","session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"ds_connection connected from Ok(127.0.0.1:45280)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.318720212Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"":"io task","client":"1","":"downstairs","session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"ds_connection connected from Ok(127.0.0.1:34853)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.31873346Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"":"io task","client":"2","":"downstairs","session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"ds_connection connected from Ok(127.0.0.1:33987)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.31881083Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"":"io task","client":"0","":"downstairs","session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.319381427Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"client":"1","":"downstairs","session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.319425542Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"client":"2","":"downstairs","session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.319447459Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"client":"0","":"downstairs","session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.31966876Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.319703486Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"[0]R flush_numbers[0..12]: [146, 161, 162, 162, 161, 160, 150, 162, 131, 148, 156, 156]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.319757129Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"":"downstairs","":"downstairs","session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"[0]R generation[0..12]: [91, 98, 99, 99, 98, 97, 93, 99, 84, 92, 95, 95]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.319768548Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"":"downstairs","":"downstairs","session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.319779966Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"":"downstairs","":"downstairs","session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"[1]R flush_numbers[0..12]: [146, 161, 162, 162, 161, 160, 150, 162, 131, 148, 156, 156]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.319790765Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"":"downstairs","":"downstairs","session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"[1]R generation[0..12]: [91, 98, 99, 99, 98, 97, 93, 99, 84, 92, 95, 95]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.319801323Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"":"downstairs","":"downstairs","session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.319812512Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"":"downstairs","":"downstairs","session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"[2]R flush_numbers[0..12]: [146, 161, 162, 162, 161, 160, 150, 162, 131, 148, 156, 156]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.319823351Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"":"downstairs","":"downstairs","session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"[2]R generation[0..12]: [91, 98, 99, 99, 98, 97, 93, 99, 84, 92, 95, 95]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.319835799Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"":"downstairs","":"downstairs","session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.319847007Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"":"downstairs","":"downstairs","session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"Max found gen is 100","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.319856626Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"":"downstairs","":"downstairs","session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"Generation requested: 100 >= found:100","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.319866655Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"":"downstairs","":"downstairs","session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"Next flush: 163","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.319876184Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"":"downstairs","":"downstairs","session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.319885713Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"":"downstairs","":"downstairs","session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.319895521Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.31990445Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"client":"0","":"downstairs","session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.319914259Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"client":"1","":"downstairs","session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.319924198Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"client":"2","":"downstairs","session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.319934296Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.319943555Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"8b5d7f20-51c9-4b90-b192-8f4eaf921881 is now active with session: 14b02816-3fff-417d-9dc2-bcd30e5d6561","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.319953624Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.319962563Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"session_id":"14b02816-3fff-417d-9dc2-bcd30e5d6561"} {"msg":"The guest has finished waiting for activation with:100","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.319971991Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539} {"msg":"Activated sub_volume 8b5d7f20-51c9-4b90-b192-8f4eaf921881","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.31998022Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.319989709Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.320350323Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"task":"crutest"} 01/30 Write block 85 len 28672 data: 5 6 8 11 8 8 12 02/30 Write block 273 len 40960 data: 6 6 6 7 7 7 7 8 8 8 03/30 Read block 508 len 28672 04/30 Read block 487 len 24576 05/30 Read block 161 len 40960 06/30 Read block 63 len 20480 07/30 Write block 277 len 20480 data: 8 8 8 9 9 08/30 Read block 397 len 32768 09/30 Write block 250 len 12288 data: 9 8 8 10/30 Read block 4 len 40960 11/30 Write block 260 len 8192 data: 7 7 12/30 Flush 13/30 Write block 177 len 4096 data: 8 14/30 Write block 553 len 12288 data: 9 10 9 15/30 Read block 303 len 12288 16/30 Write block 541 len 8192 data: 9 11 17/30 Read block 320 len 40960 18/30 Write block 402 len 8192 data: 13 14 19/30 Flush 20/30 Write block 206 len 4096 data: 8 21/30 Read block 383 len 12288 22/30 Read block 32 len 20480 23/30 Read block 300 len 36864 24/30 Read block 453 len 40960 25/30 Write block 137 len 20480 data: 6 4 8 11 10 26/30 Read block 402 len 12288 27/30 Read block 539 len 32768 28/30 Write block 378 len 8192 data: 9 8 29/30 Write block 24 len 32768 data: 8 5 7 7 9 10 10 12 30/30 Write block 337 len 36864 data: 7 7 8 8 8 7 9 10 11 ---------------------------------------------------------------- Crucible gen:100 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 7 Done Done Done false 1001 Acked Write 10 Done Done Done false 1002 Acked Read 7 Done Done Done false 1003 Acked Read 6 Done Done Sent false 1004 Acked Read 10 Done Done Sent false 1005 Acked Read 5 Done Done Sent false 1006 Acked Write 5 Done Done Sent false 1007 Acked Read 8 Done Done Sent false 1008 Acked Write 3 Done Done Sent false 1009 Acked Read 10 Done Done Sent false 1010 Acked Write 2 Done Done Sent false 1011 Acked Flush 0 Done Done Sent false 1012 Acked Write 1 Done Done Sent false 1013 Acked Write 3 Done Done Sent false 1014 Acked Read 3 Done Done Sent false 1015 Acked Write 2 Done Done Sent false 1016 Acked Read 10 Done Done Sent false 1017 Acked Write 2 Done Done Sent false 1018 Acked Flush 0 Done Done Sent false 1019 Acked Write 1 Done Done Sent false 1020 Acked Read 3 Done Done Sent false 1021 Acked Read 5 Done Done Sent false 1022 Acked Read 9 Done Done Sent false 1023 Acked Read 10 Done Done Sent false 1024 Acked Write 5 Done Done Sent false 1025 Acked Read 3 Done Done Sent false 1026 Acked Read 8 Done Done Sent false 1027 Acked Write 2 Done Done Sent false 1028 Acked Write 8 Sent Sent Sent false 1029 Acked Write 9 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 2 2 27 31 Done 28 28 3 59 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1018)) Some(JobId(1018)) None Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:45:35.328007231Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:35.328305673Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1539,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 91 91 91 146 146 146 F F F 1 020-039 98 98 98 161 161 161 T T F <--- 2 040-059 99 99 99 162 162 162 F F F 3 060-079 99 99 99 162 162 162 F F F 4 080-099 100 100 98 163 163 161 F F T <--- 5 100-119 97 97 97 160 160 160 F F F 6 120-139 93 93 93 150 150 150 T T F <--- 7 140-159 99 99 99 162 162 162 T T F <--- 8 160-179 100 100 84 164 164 131 F F F <--- 9 180-199 92 92 92 148 148 148 F F F 10 200-219 95 95 95 156 156 156 T T F <--- 11 220-239 95 95 95 156 156 156 F F F 12 240-259 100 100 96 163 163 158 F F F <--- 13 260-279 100 100 92 163 163 149 F F T <--- 14 280-299 100 100 99 163 163 162 F F T <--- 15 300-319 99 99 99 162 162 162 F F F 16 320-339 98 98 98 161 161 161 T T F <--- 17 340-359 95 95 95 156 156 156 T T F <--- 18 360-379 99 99 99 162 162 162 T T F <--- 19 380-399 99 99 99 162 162 162 F F F 20 400-419 100 100 98 164 164 161 F F F <--- 21 420-439 96 96 96 158 158 158 F F F 22 440-459 96 96 96 158 158 158 F F F 23 460-479 94 94 94 154 154 154 F F F 24 480-499 99 99 99 162 162 162 F F F 25 500-519 99 99 99 162 162 162 F F F 26 520-539 99 99 99 162 162 162 F F F 27 540-559 100 100 94 164 164 154 F F F <--- 28 560-579 92 92 92 148 148 148 F F F 29 580-599 96 96 96 159 159 159 F F F Max gen: 100, Max flush: 164 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 50 Verifying data now No change after verify Loop: 50 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 91 91 91 146 146 146 F F F 1 020-039 101 101 101 165 165 165 F F F 2 040-059 99 99 99 162 162 162 F F F 3 060-079 99 99 99 162 162 162 F F F 4 080-099 100 100 100 163 163 163 F F F 5 100-119 97 97 97 160 160 160 F F F 6 120-139 101 101 101 165 165 165 F F F 7 140-159 101 101 101 165 165 165 F F F 8 160-179 100 100 100 164 164 164 F F F 9 180-199 92 92 92 148 148 148 F F F 10 200-219 101 101 101 165 165 165 F F F 11 220-239 95 95 95 156 156 156 F F F 12 240-259 100 100 100 163 163 163 F F F 13 260-279 100 100 100 163 163 163 F F F 14 280-299 100 100 100 163 163 163 F F F 15 300-319 99 99 99 162 162 162 F F F 16 320-339 101 101 101 165 165 165 F F F 17 340-359 101 101 101 165 165 165 F F F 18 360-379 101 101 101 165 165 165 F F F 19 380-399 99 99 99 162 162 162 F F F 20 400-419 100 100 100 164 164 164 F F F 21 420-439 96 96 96 158 158 158 F F F 22 440-459 96 96 96 158 158 158 F F F 23 460-479 94 94 94 154 154 154 F F F 24 480-499 99 99 99 162 162 162 F F F 25 500-519 99 99 99 162 162 162 F F F 26 520-539 99 99 99 162 162 162 F F F 27 540-559 100 100 100 164 164 164 F F F 28 560-579 92 92 92 148 148 148 F F F 29 580-599 96 96 96 159 159 159 F F F Max gen: 101, Max flush: 165 Begin loop 51 Downstairs to restart: 1 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.571509572Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.579648338Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.579962478Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.579992514Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.580001563Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.580015681Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547} {"msg":"Crucible 4b0976f7-b9fd-4448-899e-3baa146b9e64 has session id: 901e515c-d06b-43b0-bf75-7e7fcc901368","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.580438737Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"Upstairs opts: Upstairs UUID: 4b0976f7-b9fd-4448-899e-3baa146b9e64, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.580469093Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"Crucible stats registered with UUID: 4b0976f7-b9fd-4448-899e-3baa146b9e64","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.580480101Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:45:39.58048947Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.58064469Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"":"io task","client":"1","":"downstairs","session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.580675646Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"":"io task","client":"2","":"downstairs","session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.580686735Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"":"io task","client":"0","":"downstairs","session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.58080429Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"task":"crutest"} {"msg":"The guest has requested activation with gen:102","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.580831336Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547} {"msg":"4b0976f7-b9fd-4448-899e-3baa146b9e64 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.580849954Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.580858983Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"client":"0","":"downstairs","session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.580868712Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"client":"1","":"downstairs","session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.5808786Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"client":"2","":"downstairs","session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.580888799Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"":"io task","client":"2","":"downstairs","session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.580900618Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"":"io task","client":"0","":"downstairs","session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.580910916Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"":"io task","client":"1","":"downstairs","session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"ds_connection connected from Ok(127.0.0.1:43595)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.581007164Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"":"io task","client":"1","":"downstairs","session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"ds_connection connected from Ok(127.0.0.1:52739)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.581067576Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"":"io task","client":"0","":"downstairs","session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"ds_connection connected from Ok(127.0.0.1:47579)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.581122639Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"":"io task","client":"2","":"downstairs","session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.581682587Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"client":"0","":"downstairs","session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.581705144Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"client":"1","":"downstairs","session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.581716423Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"client":"2","":"downstairs","session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.582001436Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.582011425Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"[0]R flush_numbers[0..12]: [146, 165, 162, 162, 163, 160, 165, 165, 164, 148, 165, 156]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.582077287Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"":"downstairs","":"downstairs","session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"[0]R generation[0..12]: [91, 101, 99, 99, 100, 97, 101, 101, 100, 92, 101, 95]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.582088585Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"":"downstairs","":"downstairs","session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.582099954Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"":"downstairs","":"downstairs","session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"[1]R flush_numbers[0..12]: [146, 165, 162, 162, 163, 160, 165, 165, 164, 148, 165, 156]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.582110872Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"":"downstairs","":"downstairs","session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"[1]R generation[0..12]: [91, 101, 99, 99, 100, 97, 101, 101, 100, 92, 101, 95]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.582121461Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"":"downstairs","":"downstairs","session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.582135009Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"":"downstairs","":"downstairs","session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"[2]R flush_numbers[0..12]: [146, 165, 162, 162, 163, 160, 165, 165, 164, 148, 165, 156]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.582145758Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"":"downstairs","":"downstairs","session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"[2]R generation[0..12]: [91, 101, 99, 99, 100, 97, 101, 101, 100, 92, 101, 95]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.582156286Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"":"downstairs","":"downstairs","session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.582167255Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"":"downstairs","":"downstairs","session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"Max found gen is 102","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.582176924Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"":"downstairs","":"downstairs","session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"Generation requested: 102 >= found:102","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.582186743Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"":"downstairs","":"downstairs","session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"Next flush: 166","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.582196331Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"":"downstairs","":"downstairs","session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.58220574Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"":"downstairs","":"downstairs","session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.582215959Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.582225108Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"client":"0","":"downstairs","session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.582239376Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"client":"1","":"downstairs","session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.582249395Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"client":"2","":"downstairs","session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.582259483Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.582268942Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"4b0976f7-b9fd-4448-899e-3baa146b9e64 is now active with session: 901e515c-d06b-43b0-bf75-7e7fcc901368","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.582279171Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.582289379Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"session_id":"901e515c-d06b-43b0-bf75-7e7fcc901368"} {"msg":"The guest has finished waiting for activation with:102","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.582298528Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547} {"msg":"Activated sub_volume 4b0976f7-b9fd-4448-899e-3baa146b9e64","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.582306687Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.582314906Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.582630376Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"task":"crutest"} 01/30 Write block 364 len 36864 data: 6 9 7 8 7 7 8 12 13 02/30 Write block 423 len 12288 data: 13 11 7 03/30 Write block 258 len 36864 data: 7 8 8 8 6 3 4 7 6 04/30 Write block 335 len 28672 data: 8 7 8 8 9 9 9 05/30 Read block 140 len 8192 06/30 Write block 426 len 28672 data: 8 8 7 8 9 8 8 07/30 Flush 08/30 Write block 374 len 36864 data: 14 10 9 9 10 9 7 8 8 09/30 Write block 237 len 16384 data: 8 7 8 9 10/30 Flush 11/30 Write block 386 len 24576 data: 8 8 9 8 7 9 12/30 Read block 328 len 40960 13/30 Read block 126 len 36864 14/30 Read block 423 len 24576 15/30 Write block 430 len 12288 data: 10 9 9 16/30 Flush 17/30 Write block 584 len 24576 data: 11 10 9 8 9 8 18/30 Flush 19/30 Write block 186 len 24576 data: 7 7 8 10 10 9 20/30 Flush 21/30 Write block 395 len 4096 data: 9 22/30 Read block 272 len 40960 23/30 Read block 426 len 28672 24/30 Read block 85 len 12288 25/30 Flush 26/30 Write block 293 len 40960 data: 11 13 13 13 16 17 16 15 10 9 27/30 Read block 458 len 4096 28/30 Read block 354 len 12288 29/30 Read block 584 len 40960 30/30 Read block 297 len 24576 ---------------------------------------------------------------- Crucible gen:102 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 9 Done Done Done false 1001 Acked Write 3 Done Done Done false 1002 Acked Write 9 Done Done Done false 1003 Acked Write 7 Done Done Done false 1004 Acked Read 2 Done Sent Done false 1005 Acked Write 7 Done Sent Done false 1006 Acked Flush 0 Done Sent Done false 1007 Acked Write 9 Done Sent Done false 1008 Acked Write 4 Done Sent Done false 1009 Acked Flush 0 Done Sent Done false 1010 Acked Write 6 Done Sent Done false 1011 Acked Read 10 Done Sent Done false 1012 Acked Read 9 Done Sent Done false 1013 Acked Read 6 Done Sent Done false 1014 Acked Write 3 Done Sent Done false 1015 Acked Flush 0 Done Sent Done false 1016 Acked Write 6 Done Sent Done false 1017 Acked Flush 0 Done Sent Done false 1018 Acked Write 6 Done Sent Done false 1019 Acked Flush 0 Done Sent Done false 1020 Acked Write 1 Done Sent Done false 1021 Acked Read 10 Done Sent Done false 1022 Acked Read 7 Done Sent Done false 1023 Acked Read 3 Done Sent Done false 1024 Acked Flush 0 Done Sent Done false 1025 Acked Write 10 Done Sent Done false 1026 Acked Read 1 Done Sent Done false 1027 Acked Read 3 Done Sent Done false 1028 Acked Read 10 Done Sent Done false 1029 Acked Read 6 Done Sent Done false STATES DS:0 DS:1 DS:2 TOTAL Sent 0 26 0 26 Done 30 4 30 64 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1024)) None Some(JobId(1024)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:45:39.591282426Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:39.59156514Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1547,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 91 91 91 146 146 146 F F F 1 020-039 101 101 101 165 165 165 F F F 2 040-059 99 99 99 162 162 162 F F F 3 060-079 99 99 99 162 162 162 F F F 4 080-099 100 100 100 163 163 163 F F F 5 100-119 97 97 97 160 160 160 F F F 6 120-139 101 101 101 165 165 165 F F F 7 140-159 101 101 101 165 165 165 F F F 8 160-179 100 100 100 164 164 164 F F F 9 180-199 102 92 102 170 148 170 F F F <--- 10 200-219 101 101 101 165 165 165 F F F 11 220-239 102 95 102 167 156 167 F F F <--- 12 240-259 102 100 102 167 163 167 F T F <--- 13 260-279 102 100 102 166 163 166 F T F <--- 14 280-299 100 100 100 163 163 163 T F T <--- 15 300-319 99 99 99 162 162 162 T F T <--- 16 320-339 102 101 102 166 165 166 F T F <--- 17 340-359 102 101 102 166 165 166 F T F <--- 18 360-379 102 101 102 167 165 167 F T F <--- 19 380-399 102 99 102 171 162 171 F F F <--- 20 400-419 100 100 100 164 164 164 F F F 21 420-439 102 96 102 168 158 168 F T F <--- 22 440-459 96 96 96 158 158 158 F F F 23 460-479 94 94 94 154 154 154 F F F 24 480-499 99 99 99 162 162 162 F F F 25 500-519 99 99 99 162 162 162 F F F 26 520-539 99 99 99 162 162 162 F F F 27 540-559 100 100 100 164 164 164 F F F 28 560-579 92 92 92 148 148 148 F F F 29 580-599 102 96 102 169 159 169 F F F <--- Max gen: 102, Max flush: 171 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 51 Verifying data now No change after verify Loop: 51 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 91 91 91 146 146 146 F F F 1 020-039 101 101 101 165 165 165 F F F 2 040-059 99 99 99 162 162 162 F F F 3 060-079 99 99 99 162 162 162 F F F 4 080-099 100 100 100 163 163 163 F F F 5 100-119 97 97 97 160 160 160 F F F 6 120-139 101 101 101 165 165 165 F F F 7 140-159 101 101 101 165 165 165 F F F 8 160-179 100 100 100 164 164 164 F F F 9 180-199 102 102 102 170 170 170 F F F 10 200-219 101 101 101 165 165 165 F F F 11 220-239 102 102 102 167 167 167 F F F 12 240-259 102 102 102 167 167 167 F F F 13 260-279 102 102 102 166 166 166 F F F 14 280-299 103 103 103 172 172 172 F F F 15 300-319 103 103 103 172 172 172 F F F 16 320-339 102 102 102 166 166 166 F F F 17 340-359 102 102 102 166 166 166 F F F 18 360-379 102 102 102 167 167 167 F F F 19 380-399 102 102 102 171 171 171 F F F 20 400-419 100 100 100 164 164 164 F F F 21 420-439 102 102 102 168 168 168 F F F 22 440-459 96 96 96 158 158 158 F F F 23 460-479 94 94 94 154 154 154 F F F 24 480-499 99 99 99 162 162 162 F F F 25 500-519 99 99 99 162 162 162 F F F 26 520-539 99 99 99 162 162 162 F F F 27 540-559 100 100 100 164 164 164 F F F 28 560-579 92 92 92 148 148 148 F F F 29 580-599 102 102 102 169 169 169 F F F Max gen: 103, Max flush: 172 Begin loop 52 Downstairs to restart: 0 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.833443608Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"task":"crutest"} {"msg":"Failed to get info from \"http://127.0.0.1:12810\" Communication Error: error sending request for url (http://127.0.0.1:12810/region-info)","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:45:43.840497063Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"task":"crutest"} {"msg":"look at: http://127.0.0.1:12820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.840569954Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008820, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.847582684Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.8478528Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.847879846Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.847888585Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.847900194Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555} {"msg":"Crucible c777b442-24d7-4c68-a013-8444f3fe1bd2 has session id: 6e4244c8-70b9-4967-b1dc-7138b570c519","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.84824374Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"Upstairs opts: Upstairs UUID: c777b442-24d7-4c68-a013-8444f3fe1bd2, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.848272036Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"Crucible stats registered with UUID: c777b442-24d7-4c68-a013-8444f3fe1bd2","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.848283465Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:45:43.848292763Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.848438155Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"":"io task","client":"1","":"downstairs","session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.848454573Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"":"io task","client":"2","":"downstairs","session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.848464731Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"":"io task","client":"0","":"downstairs","session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.848606183Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"task":"crutest"} {"msg":"The guest has requested activation with gen:104","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.84863014Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555} {"msg":"c777b442-24d7-4c68-a013-8444f3fe1bd2 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.848643988Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.848654877Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"client":"0","":"downstairs","session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.848664746Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"client":"1","":"downstairs","session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.848674604Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"client":"2","":"downstairs","session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.848686633Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"":"io task","client":"0","":"downstairs","session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.848696752Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"":"io task","client":"2","":"downstairs","session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.84870684Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"":"io task","client":"1","":"downstairs","session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"ds_connection connected from Ok(127.0.0.1:63177)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.84879067Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"":"io task","client":"1","":"downstairs","session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"ds_connection connected from Ok(127.0.0.1:50284)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.848816306Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"":"io task","client":"2","":"downstairs","session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"ds_connection connected from Ok(127.0.0.1:52841)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.848827985Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"":"io task","client":"0","":"downstairs","session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.849422708Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"client":"2","":"downstairs","session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.849475302Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"client":"1","":"downstairs","session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.849540193Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"client":"0","":"downstairs","session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.84972099Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.849738598Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"[0]R flush_numbers[0..12]: [146, 165, 162, 162, 163, 160, 165, 165, 164, 170, 165, 167]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.849795841Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"":"downstairs","":"downstairs","session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"[0]R generation[0..12]: [91, 101, 99, 99, 100, 97, 101, 101, 100, 102, 101, 102]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.849809399Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"":"downstairs","":"downstairs","session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.849820597Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"":"downstairs","":"downstairs","session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"[1]R flush_numbers[0..12]: [146, 165, 162, 162, 163, 160, 165, 165, 164, 170, 165, 167]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.849831356Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"":"downstairs","":"downstairs","session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"[1]R generation[0..12]: [91, 101, 99, 99, 100, 97, 101, 101, 100, 102, 101, 102]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.849841995Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"":"downstairs","":"downstairs","session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.849853093Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"":"downstairs","":"downstairs","session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"[2]R flush_numbers[0..12]: [146, 165, 162, 162, 163, 160, 165, 165, 164, 170, 165, 167]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.849863862Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"":"downstairs","":"downstairs","session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"[2]R generation[0..12]: [91, 101, 99, 99, 100, 97, 101, 101, 100, 102, 101, 102]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.849874491Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"":"downstairs","":"downstairs","session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.849885549Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"":"downstairs","":"downstairs","session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"Max found gen is 104","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.849895158Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"":"downstairs","":"downstairs","session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"Generation requested: 104 >= found:104","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.849905187Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"":"downstairs","":"downstairs","session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"Next flush: 173","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.849914875Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"":"downstairs","":"downstairs","session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.849924504Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"":"downstairs","":"downstairs","session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.849934463Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.849943562Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"client":"0","":"downstairs","session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.8499544Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"client":"1","":"downstairs","session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.849964539Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"client":"2","":"downstairs","session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.849974698Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.849984156Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"c777b442-24d7-4c68-a013-8444f3fe1bd2 is now active with session: 6e4244c8-70b9-4967-b1dc-7138b570c519","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.849994155Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.850003284Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"session_id":"6e4244c8-70b9-4967-b1dc-7138b570c519"} {"msg":"The guest has finished waiting for activation with:104","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.850012713Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555} {"msg":"Activated sub_volume c777b442-24d7-4c68-a013-8444f3fe1bd2","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.850020882Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.850029101Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.850367757Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"task":"crutest"} 01/30 Flush 02/30 Write block 444 len 40960 data: 9 8 6 5 6 8 7 8 8 7 03/30 Write block 178 len 28672 data: 7 5 9 8 10 8 6 04/30 Read block 192 len 40960 05/30 Write block 444 len 4096 data: 10 06/30 Write block 593 len 12288 data: 6 6 5 07/30 Read block 535 len 4096 08/30 Write block 293 len 20480 data: 12 14 14 14 17 09/30 Write block 554 len 36864 data: 11 10 10 11 12 11 10 6 6 10/30 Flush 11/30 Write block 180 len 4096 data: 10 12/30 Read block 26 len 36864 13/30 Write block 408 len 4096 data: 9 14/30 Write block 159 len 28672 data: 9 6 7 8 8 9 9 15/30 Read block 345 len 12288 16/30 Write block 435 len 28672 data: 6 6 7 7 7 6 6 17/30 Flush 18/30 Write block 275 len 40960 data: 7 8 9 9 9 10 10 9 10 10 19/30 Read block 523 len 8192 20/30 Read block 279 len 36864 21/30 Read block 256 len 4096 22/30 Write block 348 len 16384 data: 10 11 9 8 23/30 Read block 361 len 16384 24/30 Read block 93 len 40960 25/30 Read block 86 len 36864 26/30 Read block 222 len 20480 27/30 Write block 164 len 28672 data: 10 10 9 8 6 6 7 28/30 Write block 65 len 40960 data: 10 9 5 8 9 11 11 10 9 9 29/30 Read block 23 len 20480 30/30 Write block 471 len 32768 data: 11 11 12 10 9 12 12 9 ---------------------------------------------------------------- Crucible gen:104 GIO:true work queues: Upstairs:0 downstairs:20 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1010 Acked Write 1 Done Done Done false 1011 Acked Read 9 Done Done Done false 1012 Acked Write 1 Sent Done Done false 1013 Acked Write 7 Sent Done Done false 1014 Acked Read 3 Sent Done Done false 1015 Acked Write 7 Sent Done Done false 1016 Acked Flush 0 Sent Done Done false 1017 Acked Write 10 Sent Done Done false 1018 Acked Read 2 Sent Done Done false 1019 Acked Read 9 Sent Done Done false 1020 Acked Read 1 Sent Done Done false 1021 Acked Write 4 Sent Done Done false 1022 Acked Read 4 Sent Done Done false 1023 Acked Read 10 Sent Done Done false 1024 Acked Read 9 Sent Done Done false 1025 Acked Read 5 Sent Done Done false 1026 Acked Write 7 Sent Done Done false 1027 Acked Write 10 Sent Done Done false 1028 Acked Read 5 Sent Done Done false 1029 Acked Write 8 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 18 1 1 20 Done 2 19 19 40 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1009)) Some(JobId(1016)) Some(JobId(1016)) Downstairs last five completed: 1009 1008 1007 1006 1005 Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:45:43.858789697Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:43.859054593Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1555,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 91 91 91 146 146 146 F F F 1 020-039 101 101 101 165 165 165 F F F 2 040-059 99 99 99 162 162 162 F F F 3 060-079 99 99 99 162 162 162 F T T <--- 4 080-099 100 100 100 163 163 163 F F F 5 100-119 97 97 97 160 160 160 F F F 6 120-139 101 101 101 165 165 165 F F F 7 140-159 101 104 104 165 175 175 F F F <--- 8 160-179 104 104 104 174 175 175 F T T <--- 9 180-199 104 104 104 174 175 175 T F F <--- 10 200-219 101 101 101 165 165 165 F F F 11 220-239 102 102 102 167 167 167 F F F 12 240-259 102 102 102 167 167 167 F F F 13 260-279 102 102 102 166 166 166 F T T <--- 14 280-299 104 104 104 174 174 174 F T T <--- 15 300-319 103 103 103 172 172 172 F F F 16 320-339 102 102 102 166 166 166 F F F 17 340-359 102 102 102 166 166 166 F T T <--- 18 360-379 102 102 102 167 167 167 F F F 19 380-399 102 102 102 171 171 171 F F F 20 400-419 100 104 104 164 175 175 F F F <--- 21 420-439 102 104 104 168 175 175 F F F <--- 22 440-459 104 104 104 174 175 175 F F F <--- 23 460-479 94 94 94 154 154 154 F T T <--- 24 480-499 99 99 99 162 162 162 F F F 25 500-519 99 99 99 162 162 162 F F F 26 520-539 99 99 99 162 162 162 F F F 27 540-559 104 104 104 174 174 174 F F F 28 560-579 104 104 104 174 174 174 F F F 29 580-599 104 104 104 174 174 174 F F F Max gen: 104, Max flush: 175 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 52 Verifying data now No change after verify Loop: 52 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 91 91 91 146 146 146 F F F 1 020-039 101 101 101 165 165 165 F F F 2 040-059 99 99 99 162 162 162 F F F 3 060-079 105 105 105 176 176 176 F F F 4 080-099 100 100 100 163 163 163 F F F 5 100-119 97 97 97 160 160 160 F F F 6 120-139 101 101 101 165 165 165 F F F 7 140-159 104 104 104 175 175 175 F F F 8 160-179 105 105 105 176 176 176 F F F 9 180-199 104 104 104 175 175 175 F F F 10 200-219 101 101 101 165 165 165 F F F 11 220-239 102 102 102 167 167 167 F F F 12 240-259 102 102 102 167 167 167 F F F 13 260-279 105 105 105 176 176 176 F F F 14 280-299 105 105 105 176 176 176 F F F 15 300-319 103 103 103 172 172 172 F F F 16 320-339 102 102 102 166 166 166 F F F 17 340-359 105 105 105 176 176 176 F F F 18 360-379 102 102 102 167 167 167 F F F 19 380-399 102 102 102 171 171 171 F F F 20 400-419 104 104 104 175 175 175 F F F 21 420-439 104 104 104 175 175 175 F F F 22 440-459 104 104 104 175 175 175 F F F 23 460-479 105 105 105 176 176 176 F F F 24 480-499 99 99 99 162 162 162 F F F 25 500-519 99 99 99 162 162 162 F F F 26 520-539 99 99 99 162 162 162 F F F 27 540-559 104 104 104 174 174 174 F F F 28 560-579 104 104 104 174 174 174 F F F 29 580-599 104 104 104 174 174 174 F F F Max gen: 105, Max flush: 176 Begin loop 53 Downstairs to restart: 0 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.103403386Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"task":"crutest"} {"msg":"Failed to get info from \"http://127.0.0.1:12810\" Communication Error: error sending request for url (http://127.0.0.1:12810/region-info)","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:45:48.110485298Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"task":"crutest"} {"msg":"look at: http://127.0.0.1:12820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.110558778Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008820, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.11725215Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.117520325Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.117549382Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.117557901Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.117569459Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563} {"msg":"Crucible 98cf981c-8092-4a38-9f43-4712a3acb126 has session id: e149b892-2feb-4e8a-bda1-5d89bbc3bfbb","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.117911445Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"Upstairs opts: Upstairs UUID: 98cf981c-8092-4a38-9f43-4712a3acb126, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.117941721Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"Crucible stats registered with UUID: 98cf981c-8092-4a38-9f43-4712a3acb126","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.11795272Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:45:48.117962409Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.118118139Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"":"io task","client":"2","":"downstairs","session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.118134027Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"":"io task","client":"1","":"downstairs","session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.118146435Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"":"io task","client":"0","":"downstairs","session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.11826196Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"task":"crutest"} {"msg":"The guest has requested activation with gen:106","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.118285917Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563} {"msg":"98cf981c-8092-4a38-9f43-4712a3acb126 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.118303875Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.118312844Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"client":"0","":"downstairs","session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.118322583Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"client":"1","":"downstairs","session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.118332451Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"client":"2","":"downstairs","session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.11834443Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"":"io task","client":"2","":"downstairs","session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.118354428Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"":"io task","client":"1","":"downstairs","session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.118364527Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"":"io task","client":"0","":"downstairs","session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"ds_connection connected from Ok(127.0.0.1:42302)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.118533685Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"":"io task","client":"0","":"downstairs","session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"ds_connection connected from Ok(127.0.0.1:64910)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.118562932Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"":"io task","client":"1","":"downstairs","session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"ds_connection connected from Ok(127.0.0.1:42473)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.11857463Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"":"io task","client":"2","":"downstairs","session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.119183862Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"client":"1","":"downstairs","session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.119210359Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"client":"2","":"downstairs","session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.119227197Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"client":"0","":"downstairs","session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.119515Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.119550965Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"[0]R flush_numbers[0..12]: [146, 165, 162, 176, 163, 160, 165, 175, 176, 175, 165, 167]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.119604848Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"":"downstairs","":"downstairs","session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"[0]R generation[0..12]: [91, 101, 99, 105, 100, 97, 101, 104, 105, 104, 101, 102]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.119616267Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"":"downstairs","":"downstairs","session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.119627485Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"":"downstairs","":"downstairs","session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"[1]R flush_numbers[0..12]: [146, 165, 162, 176, 163, 160, 165, 175, 176, 175, 165, 167]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.119638244Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"":"downstairs","":"downstairs","session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"[1]R generation[0..12]: [91, 101, 99, 105, 100, 97, 101, 104, 105, 104, 101, 102]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.119648882Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"":"downstairs","":"downstairs","session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.119659761Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"":"downstairs","":"downstairs","session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"[2]R flush_numbers[0..12]: [146, 165, 162, 176, 163, 160, 165, 175, 176, 175, 165, 167]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.11967032Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"":"downstairs","":"downstairs","session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"[2]R generation[0..12]: [91, 101, 99, 105, 100, 97, 101, 104, 105, 104, 101, 102]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.119681148Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"":"downstairs","":"downstairs","session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.119692107Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"":"downstairs","":"downstairs","session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"Max found gen is 106","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.119701806Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"":"downstairs","":"downstairs","session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"Generation requested: 106 >= found:106","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.119711784Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"":"downstairs","":"downstairs","session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"Next flush: 177","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.119721373Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"":"downstairs","":"downstairs","session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.119732282Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"":"downstairs","":"downstairs","session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.119742111Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.119750879Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"client":"0","":"downstairs","session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.119760678Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"client":"1","":"downstairs","session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.119770537Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"client":"2","":"downstairs","session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.119780476Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.119789734Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"98cf981c-8092-4a38-9f43-4712a3acb126 is now active with session: e149b892-2feb-4e8a-bda1-5d89bbc3bfbb","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.119799763Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.119808572Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"session_id":"e149b892-2feb-4e8a-bda1-5d89bbc3bfbb"} {"msg":"The guest has finished waiting for activation with:106","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.119817891Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563} {"msg":"Activated sub_volume 98cf981c-8092-4a38-9f43-4712a3acb126","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.11982604Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.119834329Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.120182884Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"task":"crutest"} 01/30 Write block 497 len 32768 data: 7 7 8 8 9 10 10 11 02/30 Read block 66 len 16384 03/30 Write block 69 len 28672 data: 10 12 12 11 10 10 7 04/30 Read block 203 len 12288 05/30 Read block 450 len 40960 06/30 Flush 07/30 Write block 296 len 16384 data: 15 18 18 17 08/30 Write block 38 len 4096 data: 11 09/30 Read block 174 len 36864 10/30 Read block 449 len 16384 11/30 Read block 416 len 4096 12/30 Write block 188 len 12288 data: 9 11 11 13/30 Write block 402 len 40960 data: 14 15 13 10 10 9 10 7 9 10 14/30 Read block 272 len 16384 15/30 Write block 172 len 40960 data: 5 5 6 5 7 9 8 6 11 9 16/30 Write block 221 len 8192 data: 10 12 17/30 Write block 440 len 28672 data: 7 7 6 9 11 9 7 18/30 Flush 19/30 Write block 337 len 36864 data: 9 9 10 10 10 8 10 11 12 20/30 Write block 395 len 40960 data: 10 9 10 10 12 13 12 15 16 14 21/30 Write block 34 len 20480 data: 14 10 9 10 12 22/30 Write block 279 len 40960 data: 10 11 11 10 11 11 12 12 13 13 23/30 Write block 339 len 24576 data: 11 11 11 9 11 12 24/30 Write block 563 len 32768 data: 6 5 6 7 7 7 7 7 25/30 Read block 149 len 16384 26/30 Write block 553 len 28672 data: 10 12 11 11 12 13 12 27/30 Read block 493 len 24576 28/30 Write block 119 len 4096 data: 5 29/30 Read block 76 len 8192 30/30 Read block 286 len 20480 ---------------------------------------------------------------- Crucible gen:106 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 8 Done Done Done false 1001 Acked Read 4 Done Done Done false 1002 Acked Write 7 Done Done Done false 1003 Acked Read 3 Done Done Done false 1004 Acked Read 10 Sent Done Done false 1005 Acked Flush 0 Sent Done Done false 1006 Acked Write 4 Sent Done Done false 1007 Acked Write 1 Sent Done Done false 1008 Acked Read 9 Sent Done Done false 1009 Acked Read 4 Sent Done Done false 1010 Acked Read 1 Sent Done Done false 1011 Acked Write 3 Sent Done Done false 1012 Acked Write 10 Sent Done Done false 1013 Acked Read 4 Sent Done Done false 1014 Acked Write 10 Sent Done Done false 1015 Acked Write 2 Sent Done Done false 1016 Acked Write 7 Sent Done Done false 1017 Acked Flush 0 Sent Done Done false 1018 Acked Write 9 Sent Done Done false 1019 Acked Write 10 Sent Done Done false 1020 Acked Write 5 Sent Done Done false 1021 Acked Write 10 Sent Done Done false 1022 Acked Write 6 Sent Done Done false 1023 Acked Write 8 Sent Done Done false 1024 Acked Read 4 Sent Done Done false 1025 Acked Write 7 Sent Done Done false 1026 Acked Read 6 Sent Done Done false 1027 Acked Write 1 Sent Done Done false 1028 Acked Read 2 Sent Done Done false 1029 Acked Read 5 Sent Done Done false STATES DS:0 DS:1 DS:2 TOTAL Sent 26 0 0 26 Done 4 30 30 64 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: None Some(JobId(1017)) Some(JobId(1017)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:45:48.127947338Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:48.12824767Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1563,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 91 91 91 146 146 146 F F F 1 020-039 101 106 106 165 178 178 F T T <--- 2 040-059 99 99 99 162 162 162 F F F 3 060-079 105 106 106 176 177 177 T F F <--- 4 080-099 100 100 100 163 163 163 F F F 5 100-119 97 97 97 160 160 160 F T T <--- 6 120-139 101 101 101 165 165 165 F F F 7 140-159 104 104 104 175 175 175 F F F 8 160-179 105 106 106 176 178 178 F F F <--- 9 180-199 104 106 106 175 178 178 F F F <--- 10 200-219 101 101 101 165 165 165 F F F 11 220-239 102 106 106 167 178 178 F F F <--- 12 240-259 102 102 102 167 167 167 F F F 13 260-279 105 105 105 176 176 176 F T T <--- 14 280-299 105 106 106 176 178 178 F T T <--- 15 300-319 103 103 103 172 172 172 F F F 16 320-339 102 102 102 166 166 166 F T T <--- 17 340-359 105 105 105 176 176 176 F T T <--- 18 360-379 102 102 102 167 167 167 F F F 19 380-399 102 102 102 171 171 171 F T T <--- 20 400-419 104 106 106 175 178 178 F T T <--- 21 420-439 104 104 104 175 175 175 F F F 22 440-459 104 106 106 175 178 178 F F F <--- 23 460-479 105 105 105 176 176 176 F F F 24 480-499 99 106 106 162 177 177 T F F <--- 25 500-519 99 106 106 162 177 177 T F F <--- 26 520-539 99 99 99 162 162 162 F F F 27 540-559 104 104 104 174 174 174 F T T <--- 28 560-579 104 104 104 174 174 174 F T T <--- 29 580-599 104 104 104 174 174 174 F F F Max gen: 106, Max flush: 178 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 53 Verifying data now No change after verify Loop: 53 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 91 91 91 146 146 146 F F F 1 020-039 107 107 107 179 179 179 F F F 2 040-059 99 99 99 162 162 162 F F F 3 060-079 106 106 106 177 177 177 F F F 4 080-099 100 100 100 163 163 163 F F F 5 100-119 107 107 107 179 179 179 F F F 6 120-139 101 101 101 165 165 165 F F F 7 140-159 104 104 104 175 175 175 F F F 8 160-179 106 106 106 178 178 178 F F F 9 180-199 106 106 106 178 178 178 F F F 10 200-219 101 101 101 165 165 165 F F F 11 220-239 106 106 106 178 178 178 F F F 12 240-259 102 102 102 167 167 167 F F F 13 260-279 107 107 107 179 179 179 F F F 14 280-299 107 107 107 179 179 179 F F F 15 300-319 103 103 103 172 172 172 F F F 16 320-339 107 107 107 179 179 179 F F F 17 340-359 107 107 107 179 179 179 F F F 18 360-379 102 102 102 167 167 167 F F F 19 380-399 107 107 107 179 179 179 F F F 20 400-419 107 107 107 179 179 179 F F F 21 420-439 104 104 104 175 175 175 F F F 22 440-459 106 106 106 178 178 178 F F F 23 460-479 105 105 105 176 176 176 F F F 24 480-499 106 106 106 177 177 177 F F F 25 500-519 106 106 106 177 177 177 F F F 26 520-539 99 99 99 162 162 162 F F F 27 540-559 107 107 107 179 179 179 F F F 28 560-579 107 107 107 179 179 179 F F F 29 580-599 104 104 104 174 174 174 F F F Max gen: 107, Max flush: 179 Begin loop 54 Downstairs to restart: 1 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.386962818Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.39537471Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.395688889Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.395716066Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.395724685Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.395736263Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571} {"msg":"Crucible ad12219d-9f7b-441a-8617-6842584db04b has session id: e6f14a79-d3e7-4dce-bd9e-e150ffc1c331","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.39607298Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"Upstairs opts: Upstairs UUID: ad12219d-9f7b-441a-8617-6842584db04b, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.396102346Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"Crucible stats registered with UUID: ad12219d-9f7b-441a-8617-6842584db04b","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.396113605Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:45:52.396129793Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.396296012Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"":"io task","client":"2","":"downstairs","session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.39631179Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"":"io task","client":"0","":"downstairs","session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.396322058Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"":"io task","client":"1","":"downstairs","session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.396445572Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"task":"crutest"} {"msg":"The guest has requested activation with gen:108","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.396469269Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571} {"msg":"ad12219d-9f7b-441a-8617-6842584db04b active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.396485427Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.396494486Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"client":"0","":"downstairs","session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.396504355Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"client":"1","":"downstairs","session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.396514244Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"client":"2","":"downstairs","session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.396523852Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"":"io task","client":"2","":"downstairs","session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.39653836Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"":"io task","client":"1","":"downstairs","session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.396548649Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"":"io task","client":"0","":"downstairs","session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"ds_connection connected from Ok(127.0.0.1:33222)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.396576886Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"":"io task","client":"2","":"downstairs","session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"ds_connection connected from Ok(127.0.0.1:57486)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.396629069Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"":"io task","client":"0","":"downstairs","session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"ds_connection connected from Ok(127.0.0.1:60328)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.396732466Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"":"io task","client":"1","":"downstairs","session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.397274506Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"client":"0","":"downstairs","session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.397288594Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"client":"1","":"downstairs","session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.397299753Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"client":"2","":"downstairs","session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.397576397Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.397586236Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"[0]R flush_numbers[0..12]: [146, 179, 162, 177, 163, 179, 165, 175, 178, 178, 165, 178]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.397624741Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"":"downstairs","":"downstairs","session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"[0]R generation[0..12]: [91, 107, 99, 106, 100, 107, 101, 104, 106, 106, 101, 106]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.39763622Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"":"downstairs","":"downstairs","session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.397647598Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"":"downstairs","":"downstairs","session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"[1]R flush_numbers[0..12]: [146, 179, 162, 177, 163, 179, 165, 175, 178, 178, 165, 178]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.397658497Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"":"downstairs","":"downstairs","session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"[1]R generation[0..12]: [91, 107, 99, 106, 100, 107, 101, 104, 106, 106, 101, 106]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.397669045Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"":"downstairs","":"downstairs","session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.397680094Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"":"downstairs","":"downstairs","session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"[2]R flush_numbers[0..12]: [146, 179, 162, 177, 163, 179, 165, 175, 178, 178, 165, 178]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.397690853Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"":"downstairs","":"downstairs","session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"[2]R generation[0..12]: [91, 107, 99, 106, 100, 107, 101, 104, 106, 106, 101, 106]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.397701581Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"":"downstairs","":"downstairs","session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.39771267Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"":"downstairs","":"downstairs","session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"Max found gen is 108","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.397723888Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"":"downstairs","":"downstairs","session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"Generation requested: 108 >= found:108","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.397733847Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"":"downstairs","":"downstairs","session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"Next flush: 180","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.397743316Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"":"downstairs","":"downstairs","session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.397753025Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"":"downstairs","":"downstairs","session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.397763243Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.397772372Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"client":"0","":"downstairs","session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.397782501Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"client":"1","":"downstairs","session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.39779261Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"client":"2","":"downstairs","session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.397802678Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.397811977Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"ad12219d-9f7b-441a-8617-6842584db04b is now active with session: e6f14a79-d3e7-4dce-bd9e-e150ffc1c331","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.397822076Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.397831045Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"session_id":"e6f14a79-d3e7-4dce-bd9e-e150ffc1c331"} {"msg":"The guest has finished waiting for activation with:108","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.397840353Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571} {"msg":"Activated sub_volume ad12219d-9f7b-441a-8617-6842584db04b","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.397848552Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.397856881Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.398184399Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"task":"crutest"} 01/30 Write block 273 len 40960 data: 7 7 8 9 10 10 11 12 12 11 02/30 Write block 227 len 16384 data: 12 12 10 11 03/30 Read block 444 len 20480 04/30 Read block 443 len 40960 05/30 Read block 162 len 8192 06/30 Write block 424 len 20480 data: 12 8 9 9 8 07/30 Write block 115 len 36864 data: 6 4 5 4 6 7 7 7 7 08/30 Write block 306 len 32768 data: 9 8 7 6 5 6 7 7 09/30 Write block 596 len 16384 data: 5 5 2 2 10/30 Write block 458 len 12288 data: 10 6 9 11/30 Write block 384 len 20480 data: 11 7 9 9 10 12/30 Write block 354 len 20480 data: 10 10 10 11 10 13/30 Read block 93 len 8192 14/30 Read block 360 len 16384 15/30 Write block 581 len 8192 data: 9 10 16/30 Read block 579 len 12288 17/30 Read block 123 len 40960 18/30 Write block 566 len 20480 data: 8 8 8 8 8 19/30 Read block 206 len 24576 20/30 Write block 462 len 32768 data: 10 10 8 5 7 7 8 9 21/30 Read block 224 len 12288 22/30 Read block 287 len 36864 23/30 Read block 301 len 36864 24/30 Read block 113 len 40960 25/30 Read block 583 len 36864 26/30 Write block 456 len 28672 data: 8 8 11 7 10 9 11 27/30 Read block 190 len 20480 28/30 Read block 264 len 40960 29/30 Read block 69 len 20480 30/30 Write block 297 len 28672 data: 19 19 18 16 11 10 8 ---------------------------------------------------------------- Crucible gen:108 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 10 Done Sent Done false 1001 Acked Write 4 Done Sent Done false 1002 Acked Read 5 Done Sent Done false 1003 Acked Read 10 Done Sent Done false 1004 Acked Read 2 Done Sent Done false 1005 Acked Write 5 Done Sent Done false 1006 Acked Write 9 Done Sent Done false 1007 Acked Write 8 Done Sent Done false 1008 Acked Write 4 Done Sent Done false 1009 Acked Write 3 Done Sent Done false 1010 Acked Write 5 Done Sent Done false 1011 Acked Write 5 Done Sent Done false 1012 Acked Read 2 Done Sent Done false 1013 Acked Read 4 Done Sent Done false 1014 Acked Write 2 Done Sent Done false 1015 Acked Read 3 Done Sent Done false 1016 Acked Read 10 Done Sent Done false 1017 Acked Write 5 Done Sent Done false 1018 Acked Read 6 Done Sent Done false 1019 Acked Write 8 Done Sent Done false 1020 Acked Read 3 Done Sent Done false 1021 Acked Read 9 Done Sent Done false 1022 Acked Read 9 Done Sent Done false 1023 Acked Read 10 Done Sent Done false 1024 Acked Read 9 Done Sent Done false 1025 Acked Write 7 Done Sent Done false 1026 Acked Read 5 Done Sent Done false 1027 Acked Read 10 Done Sent Done false 1028 Acked Read 5 Done Sent Done false 1029 Acked Write 7 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 1 30 1 32 Done 29 0 29 58 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: None None None Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:45:52.405781345Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:52.406069778Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1571,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 91 91 91 146 146 146 F F F 1 020-039 107 107 107 179 179 179 F F F 2 040-059 99 99 99 162 162 162 F F F 3 060-079 106 106 106 177 177 177 F F F 4 080-099 100 100 100 163 163 163 F F F 5 100-119 107 107 107 179 179 179 T F T <--- 6 120-139 101 101 101 165 165 165 T F T <--- 7 140-159 104 104 104 175 175 175 F F F 8 160-179 106 106 106 178 178 178 F F F 9 180-199 106 106 106 178 178 178 F F F 10 200-219 101 101 101 165 165 165 F F F 11 220-239 106 106 106 178 178 178 T F T <--- 12 240-259 102 102 102 167 167 167 F F F 13 260-279 107 107 107 179 179 179 T F T <--- 14 280-299 107 107 107 179 179 179 T F T <--- 15 300-319 103 103 103 172 172 172 T F T <--- 16 320-339 107 107 107 179 179 179 F F F 17 340-359 107 107 107 179 179 179 T F T <--- 18 360-379 102 102 102 167 167 167 F F F 19 380-399 107 107 107 179 179 179 T F T <--- 20 400-419 107 107 107 179 179 179 F F F 21 420-439 104 104 104 175 175 175 T F T <--- 22 440-459 106 106 106 178 178 178 T F T <--- 23 460-479 105 105 105 176 176 176 T F T <--- 24 480-499 106 106 106 177 177 177 F F F 25 500-519 106 106 106 177 177 177 F F F 26 520-539 99 99 99 162 162 162 F F F 27 540-559 107 107 107 179 179 179 F F F 28 560-579 107 107 107 179 179 179 T F T <--- 29 580-599 104 104 104 174 174 174 T F T <--- Max gen: 107, Max flush: 179 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 54 Verifying data now No change after verify Loop: 54 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 91 91 91 146 146 146 F F F 1 020-039 107 107 107 179 179 179 F F F 2 040-059 99 99 99 162 162 162 F F F 3 060-079 106 106 106 177 177 177 F F F 4 080-099 100 100 100 163 163 163 F F F 5 100-119 108 108 108 180 180 180 F F F 6 120-139 108 108 108 180 180 180 F F F 7 140-159 104 104 104 175 175 175 F F F 8 160-179 106 106 106 178 178 178 F F F 9 180-199 106 106 106 178 178 178 F F F 10 200-219 101 101 101 165 165 165 F F F 11 220-239 108 108 108 180 180 180 F F F 12 240-259 102 102 102 167 167 167 F F F 13 260-279 108 108 108 180 180 180 F F F 14 280-299 108 108 108 180 180 180 F F F 15 300-319 108 108 108 180 180 180 F F F 16 320-339 107 107 107 179 179 179 F F F 17 340-359 108 108 108 180 180 180 F F F 18 360-379 102 102 102 167 167 167 F F F 19 380-399 108 108 108 180 180 180 F F F 20 400-419 107 107 107 179 179 179 F F F 21 420-439 108 108 108 180 180 180 F F F 22 440-459 108 108 108 180 180 180 F F F 23 460-479 108 108 108 180 180 180 F F F 24 480-499 106 106 106 177 177 177 F F F 25 500-519 106 106 106 177 177 177 F F F 26 520-539 99 99 99 162 162 162 F F F 27 540-559 107 107 107 179 179 179 F F F 28 560-579 108 108 108 180 180 180 F F F 29 580-599 108 108 108 180 180 180 F F F Max gen: 108, Max flush: 180 Begin loop 55 Downstairs to restart: 1 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.64941154Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.657696137Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.658038414Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.65806673Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.658075429Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.658087147Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579} {"msg":"Crucible 024976f4-3b51-4b00-80c0-f8a9815256b8 has session id: dc6f0202-428d-4b06-af86-6c89e2dcc673","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.658440452Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"Upstairs opts: Upstairs UUID: 024976f4-3b51-4b00-80c0-f8a9815256b8, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.658472408Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"Crucible stats registered with UUID: 024976f4-3b51-4b00-80c0-f8a9815256b8","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.658483646Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:45:56.658493185Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.658659374Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"":"io task","client":"1","":"downstairs","session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.6586864Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"":"io task","client":"2","":"downstairs","session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.658697719Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"":"io task","client":"0","":"downstairs","session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.658809485Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"task":"crutest"} {"msg":"The guest has requested activation with gen:110","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.658836581Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579} {"msg":"024976f4-3b51-4b00-80c0-f8a9815256b8 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.658850189Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.658859148Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"client":"0","":"downstairs","session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.658869107Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"client":"1","":"downstairs","session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.658879156Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"client":"2","":"downstairs","session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.658888885Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"":"io task","client":"2","":"downstairs","session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.658899183Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"":"io task","client":"0","":"downstairs","session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.658931609Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"":"io task","client":"1","":"downstairs","session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"ds_connection connected from Ok(127.0.0.1:50259)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.658967044Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"":"io task","client":"0","":"downstairs","session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"ds_connection connected from Ok(127.0.0.1:51506)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.659049894Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"":"io task","client":"1","":"downstairs","session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"ds_connection connected from Ok(127.0.0.1:57343)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.659113676Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"":"io task","client":"2","":"downstairs","session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.659636429Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"client":"2","":"downstairs","session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.659655876Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"client":"0","":"downstairs","session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.659666995Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"client":"1","":"downstairs","session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.659997222Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.660007501Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"[0]R flush_numbers[0..12]: [146, 179, 162, 177, 163, 180, 180, 175, 178, 178, 165, 180]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.660032548Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"":"downstairs","":"downstairs","session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"[0]R generation[0..12]: [91, 107, 99, 106, 100, 108, 108, 104, 106, 106, 101, 108]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.660043906Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"":"downstairs","":"downstairs","session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.660055115Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"":"downstairs","":"downstairs","session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"[1]R flush_numbers[0..12]: [146, 179, 162, 177, 163, 180, 180, 175, 178, 178, 165, 180]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.660065924Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"":"downstairs","":"downstairs","session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"[1]R generation[0..12]: [91, 107, 99, 106, 100, 108, 108, 104, 106, 106, 101, 108]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.660076552Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"":"downstairs","":"downstairs","session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.660087581Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"":"downstairs","":"downstairs","session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"[2]R flush_numbers[0..12]: [146, 179, 162, 177, 163, 180, 180, 175, 178, 178, 165, 180]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.660100689Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"":"downstairs","":"downstairs","session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"[2]R generation[0..12]: [91, 107, 99, 106, 100, 108, 108, 104, 106, 106, 101, 108]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.660111318Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"":"downstairs","":"downstairs","session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.660122436Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"":"downstairs","":"downstairs","session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"Max found gen is 109","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.660132085Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"":"downstairs","":"downstairs","session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"Generation requested: 110 >= found:109","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.660141974Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"":"downstairs","":"downstairs","session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"Next flush: 181","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.660151453Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"":"downstairs","":"downstairs","session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.660161071Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"":"downstairs","":"downstairs","session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.66017092Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.660180099Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"client":"0","":"downstairs","session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.660190348Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"client":"1","":"downstairs","session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.660200446Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"client":"2","":"downstairs","session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.660210655Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.660219924Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"024976f4-3b51-4b00-80c0-f8a9815256b8 is now active with session: dc6f0202-428d-4b06-af86-6c89e2dcc673","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.660230063Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.660238931Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"session_id":"dc6f0202-428d-4b06-af86-6c89e2dcc673"} {"msg":"The guest has finished waiting for activation with:110","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.66024823Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579} {"msg":"Activated sub_volume 024976f4-3b51-4b00-80c0-f8a9815256b8","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.660257659Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.660265898Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.660536083Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"task":"crutest"} 01/30 Write block 582 len 32768 data: 11 12 12 11 10 9 10 9 02/30 Write block 291 len 8192 data: 8 10 03/30 Read block 406 len 12288 04/30 Write block 430 len 32768 data: 11 10 10 9 9 7 7 8 05/30 Read block 51 len 28672 06/30 Read block 25 len 28672 07/30 Write block 169 len 24576 data: 7 8 7 6 6 7 08/30 Read block 506 len 16384 09/30 Read block 28 len 8192 10/30 Write block 234 len 16384 data: 8 11 9 9 11/30 Read block 535 len 8192 12/30 Read block 183 len 32768 13/30 Write block 89 len 20480 data: 9 9 13 12 12 14/30 Write block 455 len 12288 data: 8 9 9 15/30 Read block 241 len 36864 16/30 Write block 185 len 20480 data: 6 8 8 10 12 17/30 Read block 109 len 12288 18/30 Read block 577 len 24576 19/30 Write block 83 len 20480 data: 6 6 6 7 9 20/30 Read block 578 len 4096 21/30 Write block 452 len 40960 data: 9 8 7 9 10 10 12 8 11 10 22/30 Read block 269 len 20480 23/30 Flush 24/30 Write block 263 len 40960 data: 4 5 8 7 7 6 6 6 7 7 25/30 Write block 410 len 28672 data: 10 11 10 10 9 7 8 26/30 Read block 343 len 16384 27/30 Read block 521 len 20480 28/30 Write block 414 len 4096 data: 10 29/30 Read block 26 len 12288 30/30 Read block 6 len 20480 ---------------------------------------------------------------- Crucible gen:110 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 8 Done Done Done false 1001 Acked Write 2 Done Done Done false 1002 Acked Read 3 Done Done Done false 1003 Acked Write 8 Done Done Done false 1004 Acked Read 7 Done Done Done false 1005 Acked Read 7 Done Done Done false 1006 Acked Write 6 Done Done Done false 1007 Acked Read 4 Done Sent Done false 1008 Acked Read 2 Done Sent Done false 1009 Acked Write 4 Done Sent Done false 1010 Acked Read 2 Done Sent Done false 1011 Acked Read 8 Done Sent Done false 1012 Acked Write 5 Done Sent Done false 1013 Acked Write 3 Done Sent Done false 1014 Acked Read 9 Done Sent Done false 1015 Acked Write 5 Done Sent Done false 1016 Acked Read 3 Done Sent Done false 1017 Acked Read 6 Done Sent Done false 1018 Acked Write 5 Done Sent Done false 1019 Acked Read 1 Done Sent Done false 1020 Acked Write 10 Done Sent Done false 1021 Acked Read 5 Done Sent Done false 1022 Acked Flush 0 Done Sent Done false 1023 Acked Write 10 Done Sent Done false 1024 Acked Write 7 Done Sent Done false 1025 Acked Read 4 Done Sent Done false 1026 Acked Read 5 Done Sent Done false 1027 Acked Write 1 Done Sent Done false 1028 Acked Read 3 Done Sent Done false 1029 Acked Read 5 Done Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 0 23 1 24 Done 30 7 29 66 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1022)) None Some(JobId(1022)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:45:56.668955474Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:45:56.669244976Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1579,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 91 91 91 146 146 146 F F F 1 020-039 107 107 107 179 179 179 F F F 2 040-059 99 99 99 162 162 162 F F F 3 060-079 106 106 106 177 177 177 F F F 4 080-099 110 100 110 181 163 181 F F F <--- 5 100-119 108 108 108 180 180 180 F F F 6 120-139 108 108 108 180 180 180 F F F 7 140-159 104 104 104 175 175 175 F F F 8 160-179 110 106 110 181 178 181 F T F <--- 9 180-199 110 106 110 181 178 181 F F F <--- 10 200-219 101 101 101 165 165 165 F F F 11 220-239 110 108 110 181 180 181 F F F <--- 12 240-259 102 102 102 167 167 167 F F F 13 260-279 108 108 108 180 180 180 T F T <--- 14 280-299 110 108 110 181 180 181 F T F <--- 15 300-319 108 108 108 180 180 180 F F F 16 320-339 107 107 107 179 179 179 F F F 17 340-359 108 108 108 180 180 180 F F F 18 360-379 102 102 102 167 167 167 F F F 19 380-399 108 108 108 180 180 180 F F F 20 400-419 107 107 107 179 179 179 T F T <--- 21 420-439 110 108 110 181 180 181 F T F <--- 22 440-459 110 108 110 181 180 181 F F F <--- 23 460-479 110 108 110 181 180 181 F F F <--- 24 480-499 106 106 106 177 177 177 F F F 25 500-519 106 106 106 177 177 177 F F F 26 520-539 99 99 99 162 162 162 F F F 27 540-559 107 107 107 179 179 179 F F F 28 560-579 108 108 108 180 180 180 F F F 29 580-599 110 108 110 181 180 181 F T F <--- Max gen: 110, Max flush: 181 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 55 Verifying data now No change after verify Loop: 55 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 91 91 91 146 146 146 F F F 1 020-039 107 107 107 179 179 179 F F F 2 040-059 99 99 99 162 162 162 F F F 3 060-079 106 106 106 177 177 177 F F F 4 080-099 110 110 110 181 181 181 F F F 5 100-119 108 108 108 180 180 180 F F F 6 120-139 108 108 108 180 180 180 F F F 7 140-159 104 104 104 175 175 175 F F F 8 160-179 110 110 110 181 181 181 F F F 9 180-199 110 110 110 181 181 181 F F F 10 200-219 101 101 101 165 165 165 F F F 11 220-239 110 110 110 181 181 181 F F F 12 240-259 102 102 102 167 167 167 F F F 13 260-279 111 111 111 182 182 182 F F F 14 280-299 110 110 110 181 181 181 F F F 15 300-319 108 108 108 180 180 180 F F F 16 320-339 107 107 107 179 179 179 F F F 17 340-359 108 108 108 180 180 180 F F F 18 360-379 102 102 102 167 167 167 F F F 19 380-399 108 108 108 180 180 180 F F F 20 400-419 111 111 111 182 182 182 F F F 21 420-439 110 110 110 181 181 181 F F F 22 440-459 110 110 110 181 181 181 F F F 23 460-479 110 110 110 181 181 181 F F F 24 480-499 106 106 106 177 177 177 F F F 25 500-519 106 106 106 177 177 177 F F F 26 520-539 99 99 99 162 162 162 F F F 27 540-559 107 107 107 179 179 179 F F F 28 560-579 108 108 108 180 180 180 F F F 29 580-599 110 110 110 181 181 181 F F F Max gen: 111, Max flush: 182 Begin loop 56 Downstairs to restart: 0 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.911306931Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"task":"crutest"} {"msg":"Failed to get info from \"http://127.0.0.1:12810\" Communication Error: error sending request for url (http://127.0.0.1:12810/region-info)","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:46:00.918459944Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"task":"crutest"} {"msg":"look at: http://127.0.0.1:12820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.918522106Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008820, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.925496941Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.925764887Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.925796863Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.925805472Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.92581706Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587} {"msg":"Crucible d0db7504-b6e3-4f04-b660-b11253e8929b has session id: d72918da-dafe-4a20-b79b-2f04d280d9c9","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.926173984Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"Upstairs opts: Upstairs UUID: d0db7504-b6e3-4f04-b660-b11253e8929b, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.92620504Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"Crucible stats registered with UUID: d0db7504-b6e3-4f04-b660-b11253e8929b","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.926215889Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:46:00.926224988Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.926399165Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"":"io task","client":"1","":"downstairs","session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.926430121Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"":"io task","client":"2","":"downstairs","session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.92644114Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"":"io task","client":"0","":"downstairs","session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.926541537Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"task":"crutest"} {"msg":"The guest has requested activation with gen:112","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.926569414Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587} {"msg":"d0db7504-b6e3-4f04-b660-b11253e8929b active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.926587141Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.92659627Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"client":"0","":"downstairs","session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.926608149Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"client":"1","":"downstairs","session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.926618157Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"client":"2","":"downstairs","session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.926628176Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"":"io task","client":"2","":"downstairs","session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.926638495Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"":"io task","client":"1","":"downstairs","session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.926648753Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"":"io task","client":"0","":"downstairs","session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"ds_connection connected from Ok(127.0.0.1:56608)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.926684279Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"":"io task","client":"2","":"downstairs","session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"ds_connection connected from Ok(127.0.0.1:41983)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.926716085Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"":"io task","client":"1","":"downstairs","session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"ds_connection connected from Ok(127.0.0.1:55716)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.926738572Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"":"io task","client":"0","":"downstairs","session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.927400047Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"client":"2","":"downstairs","session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.927428124Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"client":"0","":"downstairs","session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.927439752Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"client":"1","":"downstairs","session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.927722666Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.927754482Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"[0]R flush_numbers[0..12]: [146, 179, 162, 177, 181, 180, 180, 175, 181, 181, 165, 181]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.927803465Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"":"downstairs","":"downstairs","session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"[0]R generation[0..12]: [91, 107, 99, 106, 110, 108, 108, 104, 110, 110, 101, 110]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.927814904Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"":"downstairs","":"downstairs","session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.927827782Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"":"downstairs","":"downstairs","session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"[1]R flush_numbers[0..12]: [146, 179, 162, 177, 181, 180, 180, 175, 181, 181, 165, 181]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.927838631Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"":"downstairs","":"downstairs","session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"[1]R generation[0..12]: [91, 107, 99, 106, 110, 108, 108, 104, 110, 110, 101, 110]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.927849349Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"":"downstairs","":"downstairs","session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.927860408Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"":"downstairs","":"downstairs","session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"[2]R flush_numbers[0..12]: [146, 179, 162, 177, 181, 180, 180, 175, 181, 181, 165, 181]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.927871117Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"":"downstairs","":"downstairs","session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"[2]R generation[0..12]: [91, 107, 99, 106, 110, 108, 108, 104, 110, 110, 101, 110]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.927881885Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"":"downstairs","":"downstairs","session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.927893014Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"":"downstairs","":"downstairs","session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"Max found gen is 112","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.927902723Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"":"downstairs","":"downstairs","session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"Generation requested: 112 >= found:112","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.927912701Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"":"downstairs","":"downstairs","session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"Next flush: 183","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.9279223Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"":"downstairs","":"downstairs","session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.927932249Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"":"downstairs","":"downstairs","session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.927942518Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.927951686Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"client":"0","":"downstairs","session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.927961885Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"client":"1","":"downstairs","session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.927971864Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"client":"2","":"downstairs","session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.927983102Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.927992581Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"d0db7504-b6e3-4f04-b660-b11253e8929b is now active with session: d72918da-dafe-4a20-b79b-2f04d280d9c9","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.928013128Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.928022007Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"session_id":"d72918da-dafe-4a20-b79b-2f04d280d9c9"} {"msg":"The guest has finished waiting for activation with:112","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.928031386Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587} {"msg":"Activated sub_volume d0db7504-b6e3-4f04-b660-b11253e8929b","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.928039675Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.928048034Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.928381941Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"task":"crutest"} 01/30 Flush 02/30 Write block 292 len 32768 data: 11 13 15 15 16 20 20 19 03/30 Read block 478 len 36864 04/30 Write block 514 len 40960 data: 9 7 7 6 5 4 5 5 6 6 05/30 Read block 254 len 28672 06/30 Read block 352 len 20480 07/30 Read block 19 len 12288 08/30 Flush 09/30 Write block 508 len 40960 data: 11 11 11 11 10 8 10 8 8 7 10/30 Write block 472 len 24576 data: 12 13 11 10 13 13 11/30 Read block 105 len 40960 12/30 Write block 587 len 16384 data: 10 11 10 8 13/30 Write block 146 len 24576 data: 10 9 7 8 9 7 14/30 Write block 167 len 8192 data: 9 7 15/30 Write block 262 len 24576 data: 7 5 6 9 8 8 16/30 Read block 50 len 40960 17/30 Flush 18/30 Flush 19/30 Write block 447 len 24576 data: 6 7 9 8 9 10 20/30 Write block 467 len 32768 data: 8 9 10 10 12 13 14 12 21/30 Write block 462 len 4096 data: 12 22/30 Write block 586 len 16384 data: 11 11 12 11 23/30 Write block 236 len 28672 data: 10 10 8 9 10 7 8 24/30 Write block 240 len 28672 data: 11 8 9 8 8 9 10 25/30 Write block 135 len 40960 data: 6 6 7 5 9 12 11 10 10 9 26/30 Flush 27/30 Write block 363 len 20480 data: 9 7 10 8 9 28/30 Read block 546 len 32768 29/30 Write block 342 len 8192 data: 10 12 30/30 Write block 406 len 28672 data: 11 10 11 8 11 12 11 ---------------------------------------------------------------- Crucible gen:112 GIO:true work queues: Upstairs:0 downstairs:29 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1001 Acked Write 8 Sent Done Done false 1002 Acked Read 9 Sent Done Done false 1003 Acked Write 10 Sent Done Done false 1004 Acked Read 7 Sent Done Done false 1005 Acked Read 5 Sent Done Done false 1006 Acked Read 3 Sent Done Done false 1007 Acked Flush 0 Sent Done Done false 1008 Acked Write 10 Sent Done Done false 1009 Acked Write 6 Sent Done Done false 1010 Acked Read 10 Sent Done Done false 1011 Acked Write 4 Sent Done Done false 1012 Acked Write 6 Sent Done Done false 1013 Acked Write 2 Sent Done Done false 1014 Acked Write 6 Sent Done Done false 1015 Acked Read 10 Sent Done Done false 1016 Acked Flush 0 Sent Done Done false 1017 Acked Flush 0 Sent Done Done false 1018 Acked Write 6 Sent Done Done false 1019 Acked Write 8 Sent Done Done false 1020 Acked Write 1 Sent Done Done false 1021 Acked Write 4 Sent Done Done false 1022 Acked Write 7 Sent Done Done false 1023 Acked Write 7 Sent Done Done false 1024 Acked Write 10 Sent Done Done false 1025 Acked Flush 0 Sent Done Done false 1026 Acked Write 5 Sent Done Done false 1027 Acked Read 8 Sent Done Done false 1028 Acked Write 2 Sent Sent Done false 1029 Acked Write 7 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 29 2 1 32 Done 0 27 28 55 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1000)) Some(JobId(1025)) Some(JobId(1025)) Downstairs last five completed: 1000 Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:46:00.936299536Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:00.936593978Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1587,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 91 91 91 146 146 146 F F F 1 020-039 107 107 107 179 179 179 F F F 2 040-059 99 99 99 162 162 162 F F F 3 060-079 106 106 106 177 177 177 F F F 4 080-099 110 110 110 181 181 181 F F F 5 100-119 108 108 108 180 180 180 F F F 6 120-139 108 112 112 180 187 187 F F F <--- 7 140-159 104 112 112 175 187 187 F F F <--- 8 160-179 110 112 112 181 185 185 F F F <--- 9 180-199 110 110 110 181 181 181 F F F 10 200-219 101 101 101 165 165 165 F F F 11 220-239 110 112 112 181 187 187 F F F <--- 12 240-259 102 112 112 167 187 187 F F F <--- 13 260-279 111 112 112 182 185 185 F F F <--- 14 280-299 110 112 112 181 184 184 F F F <--- 15 300-319 108 108 108 180 180 180 F F F 16 320-339 107 107 107 179 179 179 F F F 17 340-359 108 108 108 180 180 180 F T T <--- 18 360-379 102 102 102 167 167 167 F T T <--- 19 380-399 108 108 108 180 180 180 F F F 20 400-419 111 111 111 182 182 182 F T T <--- 21 420-439 110 110 110 181 181 181 F F F 22 440-459 110 112 112 181 187 187 F F F <--- 23 460-479 110 112 112 181 187 187 F F F <--- 24 480-499 106 106 106 177 177 177 F F F 25 500-519 106 112 112 177 185 185 F F F <--- 26 520-539 99 112 112 162 184 184 F F F <--- 27 540-559 107 107 107 179 179 179 F F F 28 560-579 108 108 108 180 180 180 F F F 29 580-599 110 112 112 181 187 187 F F F <--- Max gen: 112, Max flush: 187 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 56 Verifying data now No change after verify Loop: 56 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 91 91 91 146 146 146 F F F 1 020-039 107 107 107 179 179 179 F F F 2 040-059 99 99 99 162 162 162 F F F 3 060-079 106 106 106 177 177 177 F F F 4 080-099 110 110 110 181 181 181 F F F 5 100-119 108 108 108 180 180 180 F F F 6 120-139 112 112 112 187 187 187 F F F 7 140-159 112 112 112 187 187 187 F F F 8 160-179 112 112 112 185 185 185 F F F 9 180-199 110 110 110 181 181 181 F F F 10 200-219 101 101 101 165 165 165 F F F 11 220-239 112 112 112 187 187 187 F F F 12 240-259 112 112 112 187 187 187 F F F 13 260-279 112 112 112 185 185 185 F F F 14 280-299 112 112 112 184 184 184 F F F 15 300-319 108 108 108 180 180 180 F F F 16 320-339 107 107 107 179 179 179 F F F 17 340-359 113 113 113 188 188 188 F F F 18 360-379 113 113 113 188 188 188 F F F 19 380-399 108 108 108 180 180 180 F F F 20 400-419 113 113 113 188 188 188 F F F 21 420-439 110 110 110 181 181 181 F F F 22 440-459 112 112 112 187 187 187 F F F 23 460-479 112 112 112 187 187 187 F F F 24 480-499 106 106 106 177 177 177 F F F 25 500-519 112 112 112 185 185 185 F F F 26 520-539 112 112 112 184 184 184 F F F 27 540-559 107 107 107 179 179 179 F F F 28 560-579 108 108 108 180 180 180 F F F 29 580-599 112 112 112 187 187 187 F F F Max gen: 113, Max flush: 188 Begin loop 57 Downstairs to restart: 1 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.186110279Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.19436887Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.194685289Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.194719425Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.194728073Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.194739742Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595} {"msg":"Crucible 73b8693b-6fdb-4eb3-a1fd-5bd752bab874 has session id: 19ab2e2e-acef-453c-b85b-932af4430fd6","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.195078768Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"Upstairs opts: Upstairs UUID: 73b8693b-6fdb-4eb3-a1fd-5bd752bab874, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.195110264Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"Crucible stats registered with UUID: 73b8693b-6fdb-4eb3-a1fd-5bd752bab874","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.195121773Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:46:05.195131582Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.195279293Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"":"io task","client":"2","":"downstairs","session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.195296351Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"":"io task","client":"1","":"downstairs","session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.195306919Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"":"io task","client":"0","":"downstairs","session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.195440942Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"task":"crutest"} {"msg":"The guest has requested activation with gen:114","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.19546019Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595} {"msg":"73b8693b-6fdb-4eb3-a1fd-5bd752bab874 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.195474038Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.195483167Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"client":"0","":"downstairs","session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.195493075Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"client":"1","":"downstairs","session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.195502844Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"client":"2","":"downstairs","session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.195512523Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"":"io task","client":"2","":"downstairs","session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.195528391Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"":"io task","client":"1","":"downstairs","session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.195538699Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"":"io task","client":"0","":"downstairs","session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"ds_connection connected from Ok(127.0.0.1:35632)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.195586333Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"":"io task","client":"2","":"downstairs","session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"ds_connection connected from Ok(127.0.0.1:39777)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.19561276Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"":"io task","client":"0","":"downstairs","session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"ds_connection connected from Ok(127.0.0.1:57914)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.195624568Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"":"io task","client":"1","":"downstairs","session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.196265316Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"client":"0","":"downstairs","session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.196291493Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"client":"2","":"downstairs","session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.196303391Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"client":"1","":"downstairs","session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.196581616Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.19662546Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"[0]R flush_numbers[0..12]: [146, 179, 162, 177, 181, 180, 187, 187, 185, 181, 165, 187]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.196683293Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"":"downstairs","":"downstairs","session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"[0]R generation[0..12]: [91, 107, 99, 106, 110, 108, 112, 112, 112, 110, 101, 112]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.196694681Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"":"downstairs","":"downstairs","session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.19670581Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"":"downstairs","":"downstairs","session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"[1]R flush_numbers[0..12]: [146, 179, 162, 177, 181, 180, 187, 187, 185, 181, 165, 187]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.196716638Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"":"downstairs","":"downstairs","session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"[1]R generation[0..12]: [91, 107, 99, 106, 110, 108, 112, 112, 112, 110, 101, 112]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.196727127Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"":"downstairs","":"downstairs","session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.196738216Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"":"downstairs","":"downstairs","session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"[2]R flush_numbers[0..12]: [146, 179, 162, 177, 181, 180, 187, 187, 185, 181, 165, 187]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.196748754Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"":"downstairs","":"downstairs","session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"[2]R generation[0..12]: [91, 107, 99, 106, 110, 108, 112, 112, 112, 110, 101, 112]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.196759333Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"":"downstairs","":"downstairs","session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.196770382Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"":"downstairs","":"downstairs","session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"Max found gen is 114","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.19677998Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"":"downstairs","":"downstairs","session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"Generation requested: 114 >= found:114","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.196789779Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"":"downstairs","":"downstairs","session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"Next flush: 189","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.196799338Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"":"downstairs","":"downstairs","session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.196808907Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"":"downstairs","":"downstairs","session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.196818825Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.196829294Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"client":"0","":"downstairs","session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.196839113Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"client":"1","":"downstairs","session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.196848781Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"client":"2","":"downstairs","session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.19685886Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.196868129Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"73b8693b-6fdb-4eb3-a1fd-5bd752bab874 is now active with session: 19ab2e2e-acef-453c-b85b-932af4430fd6","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.196878168Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.196887097Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"session_id":"19ab2e2e-acef-453c-b85b-932af4430fd6"} {"msg":"The guest has finished waiting for activation with:114","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.196896355Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595} {"msg":"Activated sub_volume 73b8693b-6fdb-4eb3-a1fd-5bd752bab874","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.196904644Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.196912863Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.197265248Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"task":"crutest"} 01/30 Write block 556 len 40960 data: 12 13 14 13 11 7 7 7 6 7 02/30 Flush 03/30 Flush 04/30 Write block 18 len 8192 data: 7 8 05/30 Read block 324 len 8192 06/30 Write block 478 len 36864 data: 10 9 7 7 8 10 9 8 7 07/30 Flush 08/30 Write block 273 len 28672 data: 8 8 9 10 11 11 12 09/30 Write block 237 len 36864 data: 11 9 10 12 9 10 9 9 10 10/30 Write block 542 len 36864 data: 12 11 12 11 10 11 9 10 9 11/30 Write block 554 len 16384 data: 13 12 13 14 12/30 Read block 514 len 4096 13/30 Read block 435 len 32768 14/30 Write block 138 len 16384 data: 6 10 13 12 15/30 Read block 196 len 4096 16/30 Read block 538 len 40960 17/30 Write block 338 len 40960 data: 10 12 12 12 11 13 13 13 13 11 18/30 Read block 573 len 28672 19/30 Read block 472 len 20480 20/30 Write block 423 len 32768 data: 14 13 9 10 10 9 9 12 21/30 Write block 35 len 24576 data: 11 10 11 13 8 8 22/30 Read block 224 len 4096 23/30 Read block 508 len 24576 24/30 Write block 389 len 12288 data: 9 8 10 25/30 Write block 421 len 16384 data: 12 10 15 14 26/30 Write block 243 len 28672 data: 10 10 11 11 8 7 9 27/30 Write block 475 len 20480 data: 11 14 14 11 10 28/30 Read block 24 len 28672 29/30 Write block 365 len 8192 data: 11 9 30/30 Read block 103 len 12288 ---------------------------------------------------------------- Crucible gen:114 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 10 Done Sent Done false 1001 Acked Flush 0 Done Sent Done false 1002 Acked Flush 0 Done Sent Done false 1003 Acked Write 2 Done Sent Done false 1004 Acked Read 2 Done Sent Done false 1005 Acked Write 9 Done Sent Done false 1006 Acked Flush 0 Done Sent Done false 1007 Acked Write 7 Done Sent Done false 1008 Acked Write 9 Done Sent Done false 1009 Acked Write 9 Done Sent Done false 1010 Acked Write 4 Done Sent Done false 1011 Acked Read 1 Done Sent Done false 1012 Acked Read 8 Done Sent Done false 1013 Acked Write 4 Done Sent Done false 1014 Acked Read 1 Done Sent Done false 1015 Acked Read 10 Done Sent Done false 1016 Acked Write 10 Done Sent Done false 1017 Acked Read 7 Done Sent Done false 1018 Acked Read 5 Done Sent Done false 1019 Acked Write 8 Done Sent Done false 1020 Acked Write 6 Done Sent Done false 1021 Acked Read 1 Done Sent Done false 1022 Acked Read 6 Done Sent Done false 1023 Acked Write 3 Done Sent Done false 1024 Acked Write 4 Done Sent Done false 1025 Acked Write 7 Done Sent Done false 1026 Acked Write 5 Done Sent Done false 1027 Acked Read 7 Done Sent Done false 1028 Acked Write 2 Done Sent Done false 1029 Acked Read 3 Done Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 0 30 1 31 Done 30 0 29 59 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1006)) None Some(JobId(1006)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:46:05.205134399Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:05.205413253Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1595,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 114 91 114 191 146 191 F F F <--- 1 020-039 107 107 107 179 179 179 T F T <--- 2 040-059 99 99 99 162 162 162 T F T <--- 3 060-079 106 106 106 177 177 177 F F F 4 080-099 110 110 110 181 181 181 F F F 5 100-119 108 108 108 180 180 180 F F F 6 120-139 112 112 112 187 187 187 T F T <--- 7 140-159 112 112 112 187 187 187 T F T <--- 8 160-179 112 112 112 185 185 185 F F F 9 180-199 110 110 110 181 181 181 F F F 10 200-219 101 101 101 165 165 165 F F F 11 220-239 112 112 112 187 187 187 T F T <--- 12 240-259 112 112 112 187 187 187 T F T <--- 13 260-279 112 112 112 185 185 185 T F T <--- 14 280-299 112 112 112 184 184 184 F F F 15 300-319 108 108 108 180 180 180 F F F 16 320-339 107 107 107 179 179 179 T F T <--- 17 340-359 113 113 113 188 188 188 T F T <--- 18 360-379 113 113 113 188 188 188 T F T <--- 19 380-399 108 108 108 180 180 180 T F T <--- 20 400-419 113 113 113 188 188 188 F F F 21 420-439 110 110 110 181 181 181 T F T <--- 22 440-459 112 112 112 187 187 187 F F F 23 460-479 114 112 114 191 187 191 T F T <--- 24 480-499 114 106 114 191 177 191 F F F <--- 25 500-519 112 112 112 185 185 185 F F F 26 520-539 112 112 112 184 184 184 F F F 27 540-559 114 107 114 189 179 189 T F T <--- 28 560-579 114 108 114 189 180 189 F F F <--- 29 580-599 112 112 112 187 187 187 F F F Max gen: 114, Max flush: 191 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 57 Verifying data now No change after verify Loop: 57 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 114 114 114 191 191 191 F F F 1 020-039 115 115 115 192 192 192 F F F 2 040-059 115 115 115 192 192 192 F F F 3 060-079 106 106 106 177 177 177 F F F 4 080-099 110 110 110 181 181 181 F F F 5 100-119 108 108 108 180 180 180 F F F 6 120-139 115 115 115 192 192 192 F F F 7 140-159 115 115 115 192 192 192 F F F 8 160-179 112 112 112 185 185 185 F F F 9 180-199 110 110 110 181 181 181 F F F 10 200-219 101 101 101 165 165 165 F F F 11 220-239 115 115 115 192 192 192 F F F 12 240-259 115 115 115 192 192 192 F F F 13 260-279 115 115 115 192 192 192 F F F 14 280-299 112 112 112 184 184 184 F F F 15 300-319 108 108 108 180 180 180 F F F 16 320-339 115 115 115 192 192 192 F F F 17 340-359 115 115 115 192 192 192 F F F 18 360-379 115 115 115 192 192 192 F F F 19 380-399 115 115 115 192 192 192 F F F 20 400-419 113 113 113 188 188 188 F F F 21 420-439 115 115 115 192 192 192 F F F 22 440-459 112 112 112 187 187 187 F F F 23 460-479 115 115 115 192 192 192 F F F 24 480-499 114 114 114 191 191 191 F F F 25 500-519 112 112 112 185 185 185 F F F 26 520-539 112 112 112 184 184 184 F F F 27 540-559 115 115 115 192 192 192 F F F 28 560-579 114 114 114 189 189 189 F F F 29 580-599 112 112 112 187 187 187 F F F Max gen: 115, Max flush: 192 Begin loop 58 Downstairs to restart: 1 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.463341554Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.471491429Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.471807108Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.471835075Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.471843954Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.471855582Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603} {"msg":"Crucible c1642994-9b70-42d4-a1d1-d00ab75d18fc has session id: d15c5ef5-6a97-4113-8207-a52b466cdcab","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.472200038Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"Upstairs opts: Upstairs UUID: c1642994-9b70-42d4-a1d1-d00ab75d18fc, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.472222675Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"Crucible stats registered with UUID: c1642994-9b70-42d4-a1d1-d00ab75d18fc","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.472232814Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:46:09.472242083Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.472410281Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"":"io task","client":"0","":"downstairs","session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.472439067Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"":"io task","client":"1","":"downstairs","session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.472450286Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"":"io task","client":"2","":"downstairs","session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.472578249Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"task":"crutest"} {"msg":"The guest has requested activation with gen:116","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.472595067Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603} {"msg":"c1642994-9b70-42d4-a1d1-d00ab75d18fc active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.472611625Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.472620774Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"client":"0","":"downstairs","session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.472630623Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"client":"1","":"downstairs","session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.472640502Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"client":"2","":"downstairs","session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.47265036Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"":"io task","client":"2","":"downstairs","session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.472660919Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"":"io task","client":"0","":"downstairs","session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.472671168Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"":"io task","client":"1","":"downstairs","session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"ds_connection connected from Ok(127.0.0.1:54064)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.472739879Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"":"io task","client":"0","":"downstairs","session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"ds_connection connected from Ok(127.0.0.1:47805)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.472834717Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"":"io task","client":"1","":"downstairs","session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"ds_connection connected from Ok(127.0.0.1:50854)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.472857614Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"":"io task","client":"2","":"downstairs","session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.473488623Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"client":"0","":"downstairs","session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.47350965Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"client":"1","":"downstairs","session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.473521319Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"client":"2","":"downstairs","session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.47381994Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.473834578Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"[0]R flush_numbers[0..12]: [191, 192, 192, 177, 181, 180, 192, 192, 185, 181, 165, 192]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.473861065Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"":"downstairs","":"downstairs","session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"[0]R generation[0..12]: [114, 115, 115, 106, 110, 108, 115, 115, 112, 110, 101, 115]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.473872524Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"":"downstairs","":"downstairs","session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.473883702Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"":"downstairs","":"downstairs","session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"[1]R flush_numbers[0..12]: [191, 192, 192, 177, 181, 180, 192, 192, 185, 181, 165, 192]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.473894621Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"":"downstairs","":"downstairs","session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"[1]R generation[0..12]: [114, 115, 115, 106, 110, 108, 115, 115, 112, 110, 101, 115]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.473905209Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"":"downstairs","":"downstairs","session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.473916238Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"":"downstairs","":"downstairs","session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"[2]R flush_numbers[0..12]: [191, 192, 192, 177, 181, 180, 192, 192, 185, 181, 165, 192]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.473926957Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"":"downstairs","":"downstairs","session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"[2]R generation[0..12]: [114, 115, 115, 106, 110, 108, 115, 115, 112, 110, 101, 115]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.473937665Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"":"downstairs","":"downstairs","session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.473948734Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"":"downstairs","":"downstairs","session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"Max found gen is 116","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.473958393Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"":"downstairs","":"downstairs","session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"Generation requested: 116 >= found:116","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.473970451Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"":"downstairs","":"downstairs","session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"Next flush: 193","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.47398017Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"":"downstairs","":"downstairs","session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.473989878Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"":"downstairs","":"downstairs","session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.473999797Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.474008946Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"client":"0","":"downstairs","session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.474018955Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"client":"1","":"downstairs","session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.474028743Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"client":"2","":"downstairs","session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.474038872Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.474048281Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"c1642994-9b70-42d4-a1d1-d00ab75d18fc is now active with session: d15c5ef5-6a97-4113-8207-a52b466cdcab","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.4740585Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.474067768Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"session_id":"d15c5ef5-6a97-4113-8207-a52b466cdcab"} {"msg":"The guest has finished waiting for activation with:116","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.474077237Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603} {"msg":"Activated sub_volume c1642994-9b70-42d4-a1d1-d00ab75d18fc","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.474085516Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.474093755Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.474416624Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"task":"crutest"} 01/30 Write block 206 len 24576 data: 9 9 11 9 9 10 02/30 Read block 202 len 20480 03/30 Read block 0 len 28672 04/30 Write block 307 len 28672 data: 9 8 7 6 7 8 8 05/30 Write block 591 len 12288 data: 8 5 7 06/30 Read block 415 len 12288 07/30 Flush 08/30 Write block 412 len 28672 data: 12 11 11 8 9 7 9 09/30 Write block 62 len 28672 data: 11 11 9 11 10 6 9 10/30 Read block 147 len 24576 11/30 Flush 12/30 Write block 440 len 40960 data: 8 8 7 10 12 10 8 7 8 10 13/30 Write block 77 len 12288 data: 4 2 3 14/30 Write block 136 len 12288 data: 7 8 7 15/30 Write block 5 len 32768 data: 7 7 8 12 13 11 12 11 16/30 Write block 538 len 4096 data: 6 17/30 Write block 427 len 8192 data: 11 10 18/30 Read block 5 len 28672 19/30 Read block 502 len 8192 20/30 Flush 21/30 Write block 327 len 8192 data: 9 9 22/30 Read block 291 len 16384 23/30 Write block 291 len 32768 data: 9 12 14 16 16 17 21 21 24/30 Read block 555 len 16384 25/30 Write block 291 len 32768 data: 10 13 15 17 17 18 22 22 26/30 Flush 27/30 Write block 338 len 8192 data: 11 13 28/30 Read block 172 len 16384 29/30 Write block 265 len 20480 data: 10 9 9 7 7 30/30 Read block 525 len 20480 ---------------------------------------------------------------- Crucible gen:116 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 6 Done Sent Done false 1001 Acked Read 5 Done Sent Done false 1002 Acked Read 7 Done Sent Done false 1003 Acked Write 7 Done Sent Done false 1004 Acked Write 3 Done Sent Done false 1005 Acked Read 3 Done Sent Done false 1006 Acked Flush 0 Done Sent Done false 1007 Acked Write 7 Done Sent Done false 1008 Acked Write 7 Done Sent Done false 1009 Acked Read 6 Done Sent Done false 1010 Acked Flush 0 Done Sent Done false 1011 Acked Write 10 Done Sent Done false 1012 Acked Write 3 Done Sent Done false 1013 Acked Write 3 Done Sent Done false 1014 Acked Write 8 Done Sent Done false 1015 Acked Write 1 Done Sent Done false 1016 Acked Write 2 Done Sent Done false 1017 Acked Read 7 Done Sent Done false 1018 Acked Read 2 Done Sent Done false 1019 Acked Flush 0 Done Sent Done false 1020 Acked Write 2 Done Sent Done false 1021 Acked Read 4 Done Sent Done false 1022 Acked Write 8 Done Sent Done false 1023 Acked Read 4 Done Sent Done false 1024 Acked Write 8 Done Sent Done false 1025 Acked Flush 0 Done Sent Done false 1026 Acked Write 2 Done Sent Done false 1027 Acked Read 4 Done Sent Done false 1028 Acked Write 5 Done Sent Done false 1029 Acked Read 5 Done Sent Done false STATES DS:0 DS:1 DS:2 TOTAL Sent 0 30 0 30 Done 30 0 30 60 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1025)) None Some(JobId(1025)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:46:09.482338178Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:09.482625791Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1603,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 116 114 116 195 191 195 F F F <--- 1 020-039 115 115 115 192 192 192 F F F 2 040-059 115 115 115 192 192 192 F F F 3 060-079 116 106 116 195 177 195 F F F <--- 4 080-099 110 110 110 181 181 181 F F F 5 100-119 108 108 108 180 180 180 F F F 6 120-139 116 115 116 195 192 195 F F F <--- 7 140-159 115 115 115 192 192 192 F F F 8 160-179 112 112 112 185 185 185 F F F 9 180-199 110 110 110 181 181 181 F F F 10 200-219 116 101 116 193 165 193 F F F <--- 11 220-239 115 115 115 192 192 192 F F F 12 240-259 115 115 115 192 192 192 F F F 13 260-279 115 115 115 192 192 192 T F T <--- 14 280-299 116 112 116 196 184 196 F F F <--- 15 300-319 116 108 116 193 180 193 F F F <--- 16 320-339 116 115 116 196 192 196 T F T <--- 17 340-359 115 115 115 192 192 192 F F F 18 360-379 115 115 115 192 192 192 F F F 19 380-399 115 115 115 192 192 192 F F F 20 400-419 116 113 116 194 188 194 F F F <--- 21 420-439 116 115 116 195 192 195 F F F <--- 22 440-459 116 112 116 195 187 195 F F F <--- 23 460-479 115 115 115 192 192 192 F F F 24 480-499 114 114 114 191 191 191 F F F 25 500-519 112 112 112 185 185 185 F F F 26 520-539 116 112 116 195 184 195 F F F <--- 27 540-559 115 115 115 192 192 192 F F F 28 560-579 114 114 114 189 189 189 F F F 29 580-599 116 112 116 193 187 193 F F F <--- Max gen: 116, Max flush: 196 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 58 Verifying data now No change after verify Loop: 58 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 116 116 116 195 195 195 F F F 1 020-039 115 115 115 192 192 192 F F F 2 040-059 115 115 115 192 192 192 F F F 3 060-079 116 116 116 195 195 195 F F F 4 080-099 110 110 110 181 181 181 F F F 5 100-119 108 108 108 180 180 180 F F F 6 120-139 116 116 116 195 195 195 F F F 7 140-159 115 115 115 192 192 192 F F F 8 160-179 112 112 112 185 185 185 F F F 9 180-199 110 110 110 181 181 181 F F F 10 200-219 116 116 116 193 193 193 F F F 11 220-239 115 115 115 192 192 192 F F F 12 240-259 115 115 115 192 192 192 F F F 13 260-279 117 117 117 197 197 197 F F F 14 280-299 116 116 116 196 196 196 F F F 15 300-319 116 116 116 193 193 193 F F F 16 320-339 117 117 117 197 197 197 F F F 17 340-359 115 115 115 192 192 192 F F F 18 360-379 115 115 115 192 192 192 F F F 19 380-399 115 115 115 192 192 192 F F F 20 400-419 116 116 116 194 194 194 F F F 21 420-439 116 116 116 195 195 195 F F F 22 440-459 116 116 116 195 195 195 F F F 23 460-479 115 115 115 192 192 192 F F F 24 480-499 114 114 114 191 191 191 F F F 25 500-519 112 112 112 185 185 185 F F F 26 520-539 116 116 116 195 195 195 F F F 27 540-559 115 115 115 192 192 192 F F F 28 560-579 114 114 114 189 189 189 F F F 29 580-599 116 116 116 193 193 193 F F F Max gen: 117, Max flush: 197 Begin loop 59 Downstairs to restart: 2 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.722118616Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.730395135Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.730726742Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.730761388Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.730770756Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.730782585Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611} {"msg":"Crucible b877c922-a389-4e46-89fa-b9d07132c779 has session id: 1927fa08-f670-4683-b1cf-d22538a1665a","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.731146788Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"Upstairs opts: Upstairs UUID: b877c922-a389-4e46-89fa-b9d07132c779, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.731175904Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"Crucible stats registered with UUID: b877c922-a389-4e46-89fa-b9d07132c779","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.731188563Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:46:13.731197892Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.731355161Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"":"io task","client":"2","":"downstairs","session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.731370579Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"":"io task","client":"0","":"downstairs","session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.731380858Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"":"io task","client":"1","":"downstairs","session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.731540338Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"task":"crutest"} {"msg":"The guest has requested activation with gen:118","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.731569334Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611} {"msg":"b877c922-a389-4e46-89fa-b9d07132c779 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.731585712Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.731594661Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"client":"0","":"downstairs","session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.731604459Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"client":"1","":"downstairs","session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.731614178Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"client":"2","":"downstairs","session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.731626977Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"":"io task","client":"1","":"downstairs","session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.731637005Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"":"io task","client":"0","":"downstairs","session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.731646934Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"":"io task","client":"2","":"downstairs","session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"ds_connection connected from Ok(127.0.0.1:46134)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.731727244Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"":"io task","client":"1","":"downstairs","session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"ds_connection connected from Ok(127.0.0.1:60603)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.731778947Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"":"io task","client":"2","":"downstairs","session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"ds_connection connected from Ok(127.0.0.1:38118)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.731792635Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"":"io task","client":"0","":"downstairs","session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.732390709Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"client":"0","":"downstairs","session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.732422865Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"client":"1","":"downstairs","session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.732434553Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"client":"2","":"downstairs","session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.732705048Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.732718337Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"[0]R flush_numbers[0..12]: [195, 192, 192, 195, 181, 180, 195, 192, 185, 181, 193, 192]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.732755472Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"":"downstairs","":"downstairs","session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"[0]R generation[0..12]: [116, 115, 115, 116, 110, 108, 116, 115, 112, 110, 116, 115]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.73276688Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"":"downstairs","":"downstairs","session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.732778319Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"":"downstairs","":"downstairs","session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"[1]R flush_numbers[0..12]: [195, 192, 192, 195, 181, 180, 195, 192, 185, 181, 193, 192]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.732789198Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"":"downstairs","":"downstairs","session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"[1]R generation[0..12]: [116, 115, 115, 116, 110, 108, 116, 115, 112, 110, 116, 115]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.732799966Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"":"downstairs","":"downstairs","session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.732810955Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"":"downstairs","":"downstairs","session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"[2]R flush_numbers[0..12]: [195, 192, 192, 195, 181, 180, 195, 192, 185, 181, 193, 192]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.732821623Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"":"downstairs","":"downstairs","session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"[2]R generation[0..12]: [116, 115, 115, 116, 110, 108, 116, 115, 112, 110, 116, 115]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.732832192Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"":"downstairs","":"downstairs","session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.73284596Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"":"downstairs","":"downstairs","session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"Max found gen is 118","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.732855609Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"":"downstairs","":"downstairs","session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"Generation requested: 118 >= found:118","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.732865538Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"":"downstairs","":"downstairs","session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"Next flush: 198","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.732875017Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"":"downstairs","":"downstairs","session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.732884655Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"":"downstairs","":"downstairs","session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.732894464Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.732903383Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"client":"0","":"downstairs","session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.732913292Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"client":"1","":"downstairs","session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.73292305Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"client":"2","":"downstairs","session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.732933099Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.732942358Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"b877c922-a389-4e46-89fa-b9d07132c779 is now active with session: 1927fa08-f670-4683-b1cf-d22538a1665a","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.732952537Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.732961435Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"session_id":"1927fa08-f670-4683-b1cf-d22538a1665a"} {"msg":"The guest has finished waiting for activation with:118","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.732970704Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611} {"msg":"Activated sub_volume b877c922-a389-4e46-89fa-b9d07132c779","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.732978863Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.732987042Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.733338267Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"task":"crutest"} 01/30 Write block 253 len 36864 data: 8 7 7 8 7 8 9 9 9 02/30 Read block 146 len 12288 03/30 Write block 375 len 32768 data: 11 10 10 11 10 8 9 9 04/30 Read block 108 len 16384 05/30 Read block 489 len 28672 06/30 Read block 362 len 12288 07/30 Write block 125 len 12288 data: 6 3 3 08/30 Read block 262 len 12288 09/30 Read block 220 len 28672 10/30 Write block 293 len 40960 data: 16 18 18 19 23 23 20 17 12 11 11/30 Flush 12/30 Write block 524 len 16384 data: 7 8 7 6 13/30 Read block 247 len 20480 14/30 Write block 305 len 36864 data: 10 10 10 9 8 7 8 9 9 15/30 Write block 207 len 36864 data: 10 12 10 10 11 8 8 7 8 16/30 Write block 552 len 12288 data: 7 11 14 17/30 Write block 7 len 20480 data: 9 13 14 12 13 18/30 Flush 19/30 Flush 20/30 Write block 75 len 16384 data: 8 6 5 3 21/30 Read block 544 len 36864 22/30 Write block 371 len 8192 data: 13 14 23/30 Write block 92 len 4096 data: 13 24/30 Read block 482 len 8192 25/30 Write block 568 len 28672 data: 9 9 9 8 11 12 11 26/30 Read block 36 len 40960 27/30 Read block 100 len 40960 28/30 Write block 383 len 20480 data: 10 12 8 10 10 29/30 Read block 474 len 16384 30/30 Read block 319 len 20480 ---------------------------------------------------------------- Crucible gen:118 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 9 Done Done Sent false 1001 Acked Read 3 Done Done Sent false 1002 Acked Write 8 Done Done Sent false 1003 Acked Read 4 Done Done Sent false 1004 Acked Read 7 Done Done Sent false 1005 Acked Read 3 Done Done Sent false 1006 Acked Write 3 Done Done Sent false 1007 Acked Read 3 Done Done Sent false 1008 Acked Read 7 Done Done Sent false 1009 Acked Write 10 Done Done Sent false 1010 Acked Flush 0 Done Done Sent false 1011 Acked Write 4 Done Done Sent false 1012 Acked Read 5 Done Done Sent false 1013 Acked Write 9 Done Done Sent false 1014 Acked Write 9 Done Done Sent false 1015 Acked Write 3 Done Done Sent false 1016 Acked Write 5 Done Done Sent false 1017 Acked Flush 0 Done Done Sent false 1018 Acked Flush 0 Done Done Sent false 1019 Acked Write 4 Done Done Sent false 1020 Acked Read 9 Done Done Sent false 1021 Acked Write 2 Done Done Sent false 1022 Acked Write 1 Done Done Sent false 1023 Acked Read 2 Done Done Sent false 1024 Acked Write 7 Done Done Sent false 1025 Acked Read 10 Done Done Sent false 1026 Acked Read 10 Done Done Sent false 1027 Acked Write 5 Done Done Sent false 1028 Acked Read 4 Done Done Sent false 1029 Acked Read 5 Sent Done Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 1 0 30 31 Done 29 30 0 59 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1018)) Some(JobId(1018)) None Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:46:13.741535466Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:13.741828428Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1611,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 118 118 116 199 199 195 F F F <--- 1 020-039 115 115 115 192 192 192 F F F 2 040-059 115 115 115 192 192 192 F F F 3 060-079 116 116 116 195 195 195 T T F <--- 4 080-099 110 110 110 181 181 181 T T F <--- 5 100-119 108 108 108 180 180 180 F F F 6 120-139 118 118 116 198 198 195 F F F <--- 7 140-159 115 115 115 192 192 192 F F F 8 160-179 112 112 112 185 185 185 F F F 9 180-199 110 110 110 181 181 181 F F F 10 200-219 118 118 116 199 199 193 F F F <--- 11 220-239 115 115 115 192 192 192 F F F 12 240-259 118 118 115 198 198 192 F F F <--- 13 260-279 118 118 117 198 198 197 F F F <--- 14 280-299 118 118 116 198 198 196 F F F <--- 15 300-319 118 118 116 199 199 193 F F F <--- 16 320-339 117 117 117 197 197 197 F F F 17 340-359 115 115 115 192 192 192 F F F 18 360-379 118 118 115 198 198 192 T T F <--- 19 380-399 118 118 115 198 198 192 T T F <--- 20 400-419 116 116 116 194 194 194 F F F 21 420-439 116 116 116 195 195 195 F F F 22 440-459 116 116 116 195 195 195 F F F 23 460-479 115 115 115 192 192 192 F F F 24 480-499 114 114 114 191 191 191 F F F 25 500-519 112 112 112 185 185 185 F F F 26 520-539 118 118 116 199 199 195 F F F <--- 27 540-559 118 118 115 199 199 192 F F F <--- 28 560-579 114 114 114 189 189 189 T T F <--- 29 580-599 116 116 116 193 193 193 F F F Max gen: 118, Max flush: 199 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 59 Verifying data now No change after verify Loop: 59 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 118 118 118 199 199 199 F F F 1 020-039 115 115 115 192 192 192 F F F 2 040-059 115 115 115 192 192 192 F F F 3 060-079 119 119 119 200 200 200 F F F 4 080-099 119 119 119 200 200 200 F F F 5 100-119 108 108 108 180 180 180 F F F 6 120-139 118 118 118 198 198 198 F F F 7 140-159 115 115 115 192 192 192 F F F 8 160-179 112 112 112 185 185 185 F F F 9 180-199 110 110 110 181 181 181 F F F 10 200-219 118 118 118 199 199 199 F F F 11 220-239 115 115 115 192 192 192 F F F 12 240-259 118 118 118 198 198 198 F F F 13 260-279 118 118 118 198 198 198 F F F 14 280-299 118 118 118 198 198 198 F F F 15 300-319 118 118 118 199 199 199 F F F 16 320-339 117 117 117 197 197 197 F F F 17 340-359 115 115 115 192 192 192 F F F 18 360-379 119 119 119 200 200 200 F F F 19 380-399 119 119 119 200 200 200 F F F 20 400-419 116 116 116 194 194 194 F F F 21 420-439 116 116 116 195 195 195 F F F 22 440-459 116 116 116 195 195 195 F F F 23 460-479 115 115 115 192 192 192 F F F 24 480-499 114 114 114 191 191 191 F F F 25 500-519 112 112 112 185 185 185 F F F 26 520-539 118 118 118 199 199 199 F F F 27 540-559 118 118 118 199 199 199 F F F 28 560-579 119 119 119 200 200 200 F F F 29 580-599 116 116 116 193 193 193 F F F Max gen: 119, Max flush: 200 Begin loop 60 Downstairs to restart: 0 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:17.986843165Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"task":"crutest"} {"msg":"Failed to get info from \"http://127.0.0.1:12810\" Communication Error: error sending request for url (http://127.0.0.1:12810/region-info)","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:46:17.993950004Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"task":"crutest"} {"msg":"look at: http://127.0.0.1:12820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:17.994025494Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008820, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.00084146Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.001115295Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.00115408Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.001165848Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.001177757Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619} {"msg":"Crucible 2df73913-d5fc-4e24-8fee-75a73efba795 has session id: ed57b5a9-ae10-4512-adad-c42fad186994","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.00154181Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"Upstairs opts: Upstairs UUID: 2df73913-d5fc-4e24-8fee-75a73efba795, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.001572436Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"Crucible stats registered with UUID: 2df73913-d5fc-4e24-8fee-75a73efba795","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.001583515Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:46:18.001592914Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.001764952Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"":"io task","client":"2","":"downstairs","session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.001781089Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"":"io task","client":"1","":"downstairs","session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.001791318Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"":"io task","client":"0","":"downstairs","session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.001919292Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"task":"crutest"} {"msg":"The guest has requested activation with gen:120","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.001943029Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619} {"msg":"2df73913-d5fc-4e24-8fee-75a73efba795 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.001958297Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.001967626Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"client":"0","":"downstairs","session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.001977484Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"client":"1","":"downstairs","session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.001987433Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"client":"2","":"downstairs","session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.002016799Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"":"io task","client":"2","":"downstairs","session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.002027678Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"":"io task","client":"1","":"downstairs","session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.002037907Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"":"io task","client":"0","":"downstairs","session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"ds_connection connected from Ok(127.0.0.1:41964)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.00209255Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"":"io task","client":"0","":"downstairs","session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"ds_connection connected from Ok(127.0.0.1:37730)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.002125735Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"":"io task","client":"1","":"downstairs","session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"ds_connection connected from Ok(127.0.0.1:47118)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.002137874Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"":"io task","client":"2","":"downstairs","session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.002809718Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"client":"1","":"downstairs","session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.002833205Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"client":"0","":"downstairs","session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.002891007Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"client":"2","":"downstairs","session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.003201157Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.003211106Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"[0]R flush_numbers[0..12]: [199, 192, 192, 200, 200, 180, 198, 192, 185, 181, 199, 192]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.003235963Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"":"downstairs","":"downstairs","session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"[0]R generation[0..12]: [118, 115, 115, 119, 119, 108, 118, 115, 112, 110, 118, 115]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.003247451Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"":"downstairs","":"downstairs","session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.00325865Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"":"downstairs","":"downstairs","session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"[1]R flush_numbers[0..12]: [199, 192, 192, 200, 200, 180, 198, 192, 185, 181, 199, 192]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.003269659Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"":"downstairs","":"downstairs","session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"[1]R generation[0..12]: [118, 115, 115, 119, 119, 108, 118, 115, 112, 110, 118, 115]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.003282817Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"":"downstairs","":"downstairs","session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.003293965Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"":"downstairs","":"downstairs","session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"[2]R flush_numbers[0..12]: [199, 192, 192, 200, 200, 180, 198, 192, 185, 181, 199, 192]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.003304764Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"":"downstairs","":"downstairs","session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"[2]R generation[0..12]: [118, 115, 115, 119, 119, 108, 118, 115, 112, 110, 118, 115]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.003315583Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"":"downstairs","":"downstairs","session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.003326571Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"":"downstairs","":"downstairs","session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"Max found gen is 120","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.00333616Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"":"downstairs","":"downstairs","session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"Generation requested: 120 >= found:120","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.003346239Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"":"downstairs","":"downstairs","session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"Next flush: 201","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.003356057Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"":"downstairs","":"downstairs","session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.003365666Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"":"downstairs","":"downstairs","session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.003375615Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.003384764Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"client":"0","":"downstairs","session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.003394633Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"client":"1","":"downstairs","session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.003404661Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"client":"2","":"downstairs","session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.00341476Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.003424179Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"2df73913-d5fc-4e24-8fee-75a73efba795 is now active with session: ed57b5a9-ae10-4512-adad-c42fad186994","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.003435227Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.003444186Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"session_id":"ed57b5a9-ae10-4512-adad-c42fad186994"} {"msg":"The guest has finished waiting for activation with:120","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.003453395Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619} {"msg":"Activated sub_volume 2df73913-d5fc-4e24-8fee-75a73efba795","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.003461694Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.003470013Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.003767185Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"task":"crutest"} 01/30 Write block 547 len 8192 data: 12 10 02/30 Read block 342 len 8192 03/30 Read block 485 len 4096 04/30 Read block 7 len 32768 05/30 Write block 309 len 8192 data: 9 8 06/30 Flush 07/30 Flush 08/30 Write block 260 len 36864 data: 10 10 8 6 7 11 10 10 8 09/30 Read block 293 len 28672 10/30 Read block 148 len 16384 11/30 Write block 54 len 8192 data: 6 6 12/30 Write block 403 len 24576 data: 17 15 11 12 11 12 13/30 Read block 51 len 24576 14/30 Read block 417 len 28672 15/30 Write block 243 len 4096 data: 11 16/30 Read block 3 len 8192 17/30 Read block 129 len 40960 18/30 Read block 406 len 28672 19/30 Write block 84 len 8192 data: 7 7 20/30 Write block 344 len 32768 data: 14 14 14 12 11 12 10 9 21/30 Read block 526 len 12288 22/30 Write block 5 len 28672 data: 8 8 10 14 15 13 14 23/30 Read block 368 len 8192 24/30 Write block 454 len 8192 data: 8 10 25/30 Write block 360 len 36864 data: 10 10 9 10 8 12 10 10 8 26/30 Flush 27/30 Write block 413 len 36864 data: 12 12 9 10 8 10 11 11 13 28/30 Read block 37 len 36864 29/30 Read block 196 len 24576 30/30 Write block 569 len 16384 data: 10 10 9 12 ---------------------------------------------------------------- Crucible gen:120 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 2 Done Done Done false 1001 Acked Read 2 Done Done Done false 1002 Acked Read 1 Done Done Done false 1003 Acked Read 8 Sent Done Done false 1004 Acked Write 2 Sent Done Done false 1005 Acked Flush 0 Sent Done Done false 1006 Acked Flush 0 Sent Done Done false 1007 Acked Write 9 Sent Done Done false 1008 Acked Read 7 Sent Done Done false 1009 Acked Read 4 Sent Done Done false 1010 Acked Write 2 Sent Done Done false 1011 Acked Write 6 Sent Done Done false 1012 Acked Read 6 Sent Done Done false 1013 Acked Read 7 Sent Done Done false 1014 Acked Write 1 Sent Done Done false 1015 Acked Read 2 Sent Done Done false 1016 Acked Read 10 Sent Done Done false 1017 Acked Read 7 Sent Done Done false 1018 Acked Write 2 Sent Done Done false 1019 Acked Write 8 Sent Done Done false 1020 Acked Read 3 Sent Done Done false 1021 Acked Write 7 Sent Done Done false 1022 Acked Read 2 Sent Done Done false 1023 Acked Write 2 Sent Done Done false 1024 Acked Write 9 Sent Done Done false 1025 Acked Flush 0 Sent Done Done false 1026 Acked Write 9 Sent Done Done false 1027 Acked Read 9 Sent Done Done false 1028 Acked Read 6 Sent Done Done false 1029 Acked Write 4 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 27 1 1 29 Done 3 29 29 61 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: None Some(JobId(1025)) Some(JobId(1025)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:46:18.011948106Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:18.012235409Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1619,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 118 120 120 199 203 203 F F F <--- 1 020-039 115 115 115 192 192 192 F F F 2 040-059 115 120 120 192 203 203 F F F <--- 3 060-079 119 119 119 200 200 200 F F F 4 080-099 119 120 120 200 203 203 F F F <--- 5 100-119 108 108 108 180 180 180 F F F 6 120-139 118 118 118 198 198 198 F F F 7 140-159 115 115 115 192 192 192 F F F 8 160-179 112 112 112 185 185 185 F F F 9 180-199 110 110 110 181 181 181 F F F 10 200-219 118 118 118 199 199 199 F F F 11 220-239 115 115 115 192 192 192 F F F 12 240-259 118 120 120 198 203 203 F F F <--- 13 260-279 118 120 120 198 203 203 F F F <--- 14 280-299 118 118 118 198 198 198 F F F 15 300-319 118 120 120 199 201 201 F F F <--- 16 320-339 117 117 117 197 197 197 F F F 17 340-359 115 120 120 192 203 203 F F F <--- 18 360-379 119 120 120 200 203 203 F F F <--- 19 380-399 119 119 119 200 200 200 F F F 20 400-419 116 120 120 194 203 203 F T T <--- 21 420-439 116 116 116 195 195 195 F T T <--- 22 440-459 116 120 120 195 203 203 F F F <--- 23 460-479 115 115 115 192 192 192 F F F 24 480-499 114 114 114 191 191 191 F F F 25 500-519 112 112 112 185 185 185 F F F 26 520-539 118 118 118 199 199 199 F F F 27 540-559 118 120 120 199 201 201 T F F <--- 28 560-579 119 119 119 200 200 200 F T T <--- 29 580-599 116 116 116 193 193 193 F F F Max gen: 120, Max flush: 203 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 60 Verifying data now No change after verify Loop: 60 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 120 120 120 203 203 203 F F F 1 020-039 115 115 115 192 192 192 F F F 2 040-059 120 120 120 203 203 203 F F F 3 060-079 119 119 119 200 200 200 F F F 4 080-099 120 120 120 203 203 203 F F F 5 100-119 108 108 108 180 180 180 F F F 6 120-139 118 118 118 198 198 198 F F F 7 140-159 115 115 115 192 192 192 F F F 8 160-179 112 112 112 185 185 185 F F F 9 180-199 110 110 110 181 181 181 F F F 10 200-219 118 118 118 199 199 199 F F F 11 220-239 115 115 115 192 192 192 F F F 12 240-259 120 120 120 203 203 203 F F F 13 260-279 120 120 120 203 203 203 F F F 14 280-299 118 118 118 198 198 198 F F F 15 300-319 120 120 120 201 201 201 F F F 16 320-339 117 117 117 197 197 197 F F F 17 340-359 120 120 120 203 203 203 F F F 18 360-379 120 120 120 203 203 203 F F F 19 380-399 119 119 119 200 200 200 F F F 20 400-419 121 121 121 204 204 204 F F F 21 420-439 121 121 121 204 204 204 F F F 22 440-459 120 120 120 203 203 203 F F F 23 460-479 115 115 115 192 192 192 F F F 24 480-499 114 114 114 191 191 191 F F F 25 500-519 112 112 112 185 185 185 F F F 26 520-539 118 118 118 199 199 199 F F F 27 540-559 120 120 120 201 201 201 F F F 28 560-579 121 121 121 204 204 204 F F F 29 580-599 116 116 116 193 193 193 F F F Max gen: 121, Max flush: 204 Begin loop 61 Downstairs to restart: 0 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.255240162Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"task":"crutest"} {"msg":"Failed to get info from \"http://127.0.0.1:12810\" Communication Error: error sending request for url (http://127.0.0.1:12810/region-info)","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:46:22.262427181Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"task":"crutest"} {"msg":"look at: http://127.0.0.1:12820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.262497292Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008820, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.269315857Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.269589282Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.269617319Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.269625918Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.269637416Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627} {"msg":"Crucible 8f451b0a-cc2e-414b-981d-f344425e6592 has session id: 9f283faf-412c-4022-9268-8fac1d5ac207","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.269969804Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"Upstairs opts: Upstairs UUID: 8f451b0a-cc2e-414b-981d-f344425e6592, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.269985661Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"Crucible stats registered with UUID: 8f451b0a-cc2e-414b-981d-f344425e6592","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.26999556Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:46:22.270031916Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.270191955Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"":"io task","client":"1","":"downstairs","session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.270207033Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"":"io task","client":"0","":"downstairs","session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.270217352Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"":"io task","client":"2","":"downstairs","session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.270360833Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"task":"crutest"} {"msg":"The guest has requested activation with gen:122","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.270380021Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627} {"msg":"8f451b0a-cc2e-414b-981d-f344425e6592 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.270414077Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.270423715Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"client":"0","":"downstairs","session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.270433534Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"client":"1","":"downstairs","session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.270443383Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"client":"2","":"downstairs","session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.270453002Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"":"io task","client":"2","":"downstairs","session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.27046324Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"":"io task","client":"0","":"downstairs","session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.270473369Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"":"io task","client":"1","":"downstairs","session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"ds_connection connected from Ok(127.0.0.1:56421)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.270525512Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"":"io task","client":"1","":"downstairs","session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"ds_connection connected from Ok(127.0.0.1:62191)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.270536441Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"":"io task","client":"2","":"downstairs","session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"ds_connection connected from Ok(127.0.0.1:37822)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.270630669Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"":"io task","client":"0","":"downstairs","session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.271275226Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"client":"0","":"downstairs","session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.271289674Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"client":"2","":"downstairs","session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.271300873Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"client":"1","":"downstairs","session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.271573758Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.271608773Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"[0]R flush_numbers[0..12]: [203, 192, 203, 200, 203, 180, 198, 192, 185, 181, 199, 192]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.271651638Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"":"downstairs","":"downstairs","session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"[0]R generation[0..12]: [120, 115, 120, 119, 120, 108, 118, 115, 112, 110, 118, 115]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.271663086Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"":"downstairs","":"downstairs","session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.271674295Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"":"downstairs","":"downstairs","session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"[1]R flush_numbers[0..12]: [203, 192, 203, 200, 203, 180, 198, 192, 185, 181, 199, 192]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.271685124Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"":"downstairs","":"downstairs","session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"[1]R generation[0..12]: [120, 115, 120, 119, 120, 108, 118, 115, 112, 110, 118, 115]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.271695742Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"":"downstairs","":"downstairs","session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.271706871Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"":"downstairs","":"downstairs","session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"[2]R flush_numbers[0..12]: [203, 192, 203, 200, 203, 180, 198, 192, 185, 181, 199, 192]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.271717549Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"":"downstairs","":"downstairs","session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"[2]R generation[0..12]: [120, 115, 120, 119, 120, 108, 118, 115, 112, 110, 118, 115]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.271728218Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"":"downstairs","":"downstairs","session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.271739187Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"":"downstairs","":"downstairs","session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"Max found gen is 122","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.271748925Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"":"downstairs","":"downstairs","session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"Generation requested: 122 >= found:122","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.271758884Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"":"downstairs","":"downstairs","session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"Next flush: 205","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.271768333Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"":"downstairs","":"downstairs","session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.271777942Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"":"downstairs","":"downstairs","session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.27178791Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.271798349Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"client":"0","":"downstairs","session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.271808578Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"client":"1","":"downstairs","session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.271818756Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"client":"2","":"downstairs","session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.271829045Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.271838474Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"8f451b0a-cc2e-414b-981d-f344425e6592 is now active with session: 9f283faf-412c-4022-9268-8fac1d5ac207","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.271848633Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.271857541Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"session_id":"9f283faf-412c-4022-9268-8fac1d5ac207"} {"msg":"The guest has finished waiting for activation with:122","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.27186685Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627} {"msg":"Activated sub_volume 8f451b0a-cc2e-414b-981d-f344425e6592","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.271875059Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.271883308Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.272206357Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"task":"crutest"} 01/30 Write block 154 len 16384 data: 8 10 9 8 02/30 Read block 137 len 20480 03/30 Write block 324 len 28672 data: 14 13 11 10 10 11 10 04/30 Write block 451 len 4096 data: 10 05/30 Read block 555 len 20480 06/30 Read block 145 len 40960 07/30 Read block 347 len 24576 08/30 Flush 09/30 Write block 158 len 4096 data: 9 10/30 Flush 11/30 Write block 511 len 20480 data: 12 11 9 11 9 12/30 Write block 27 len 20480 data: 8 10 11 11 13 13/30 Read block 50 len 24576 14/30 Read block 451 len 20480 15/30 Write block 561 len 40960 data: 8 8 8 7 8 9 9 10 11 11 16/30 Write block 516 len 28672 data: 9 8 6 5 6 6 7 17/30 Flush 18/30 Write block 132 len 40960 data: 9 11 8 7 8 9 8 11 14 13 19/30 Write block 307 len 12288 data: 11 10 10 20/30 Read block 231 len 8192 21/30 Write block 280 len 4096 data: 13 22/30 Write block 92 len 16384 data: 14 13 11 9 23/30 Read block 130 len 16384 24/30 Read block 205 len 28672 25/30 Write block 343 len 16384 data: 14 15 15 15 26/30 Read block 389 len 4096 27/30 Read block 310 len 32768 28/30 Write block 38 len 28672 data: 14 9 9 6 4 6 7 29/30 Read block 68 len 8192 30/30 Write block 290 len 28672 data: 9 11 14 17 19 19 20 ---------------------------------------------------------------- Crucible gen:122 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 4 Done Done Done false 1001 Acked Read 5 Done Done Done false 1002 Acked Write 7 Done Done Done false 1003 Acked Write 1 Done Done Done false 1004 Acked Read 5 Done Done Done false 1005 Acked Read 10 Done Done Done false 1006 Acked Read 6 Done Done Done false 1007 Acked Flush 0 Sent Done Done false 1008 Acked Write 1 Sent Done Done false 1009 Acked Flush 0 Sent Done Done false 1010 Acked Write 5 Sent Done Done false 1011 Acked Write 5 Sent Done Done false 1012 Acked Read 6 Sent Done Done false 1013 Acked Read 5 Sent Done Done false 1014 Acked Write 10 Sent Done Done false 1015 Acked Write 7 Sent Done Done false 1016 Acked Flush 0 Sent Done Done false 1017 Acked Write 10 Sent Done Done false 1018 Acked Write 3 Sent Done Done false 1019 Acked Read 2 Sent Done Done false 1020 Acked Write 1 Sent Done Done false 1021 Acked Write 4 Sent Done Done false 1022 Acked Read 4 Sent Done Done false 1023 Acked Read 7 Sent Done Done false 1024 Acked Write 4 Sent Done Done false 1025 Acked Read 1 Sent Done Done false 1026 Acked Read 8 Sent Done Done false 1027 Acked Write 7 Sent Done Done false 1028 Acked Read 2 Sent Done Done false 1029 Acked Write 7 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 23 1 1 25 Done 7 29 29 65 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: None Some(JobId(1016)) Some(JobId(1016)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:46:22.280145789Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:22.280451419Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1627,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 120 120 120 203 203 203 F F F 1 020-039 115 122 122 192 207 207 F T T <--- 2 040-059 120 120 120 203 203 203 F T T <--- 3 060-079 119 119 119 200 200 200 F F F 4 080-099 120 120 120 203 203 203 F T T <--- 5 100-119 108 108 108 180 180 180 F F F 6 120-139 118 118 118 198 198 198 F T T <--- 7 140-159 115 122 122 192 206 206 T T T <--- 8 160-179 112 112 112 185 185 185 F F F 9 180-199 110 110 110 181 181 181 F F F 10 200-219 118 118 118 199 199 199 F F F 11 220-239 115 115 115 192 192 192 F F F 12 240-259 120 120 120 203 203 203 F F F 13 260-279 120 120 120 203 203 203 F F F 14 280-299 118 118 118 198 198 198 F T T <--- 15 300-319 120 120 120 201 201 201 F T T <--- 16 320-339 117 122 122 197 205 205 T F F <--- 17 340-359 120 120 120 203 203 203 F T T <--- 18 360-379 120 120 120 203 203 203 F F F 19 380-399 119 119 119 200 200 200 F F F 20 400-419 121 121 121 204 204 204 F F F 21 420-439 121 121 121 204 204 204 F F F 22 440-459 120 122 122 203 205 205 T F F <--- 23 460-479 115 115 115 192 192 192 F F F 24 480-499 114 114 114 191 191 191 F F F 25 500-519 112 122 122 185 207 207 F F F <--- 26 520-539 118 122 122 199 207 207 F F F <--- 27 540-559 120 120 120 201 201 201 F F F 28 560-579 121 122 122 204 207 207 F F F <--- 29 580-599 116 116 116 193 193 193 F F F Max gen: 122, Max flush: 207 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 61 Verifying data now No change after verify Loop: 61 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 120 120 120 203 203 203 F F F 1 020-039 123 123 123 208 208 208 F F F 2 040-059 123 123 123 208 208 208 F F F 3 060-079 119 119 119 200 200 200 F F F 4 080-099 123 123 123 208 208 208 F F F 5 100-119 108 108 108 180 180 180 F F F 6 120-139 123 123 123 208 208 208 F F F 7 140-159 123 123 123 208 208 208 F F F 8 160-179 112 112 112 185 185 185 F F F 9 180-199 110 110 110 181 181 181 F F F 10 200-219 118 118 118 199 199 199 F F F 11 220-239 115 115 115 192 192 192 F F F 12 240-259 120 120 120 203 203 203 F F F 13 260-279 120 120 120 203 203 203 F F F 14 280-299 123 123 123 208 208 208 F F F 15 300-319 123 123 123 208 208 208 F F F 16 320-339 122 122 122 205 205 205 F F F 17 340-359 123 123 123 208 208 208 F F F 18 360-379 120 120 120 203 203 203 F F F 19 380-399 119 119 119 200 200 200 F F F 20 400-419 121 121 121 204 204 204 F F F 21 420-439 121 121 121 204 204 204 F F F 22 440-459 122 122 122 205 205 205 F F F 23 460-479 115 115 115 192 192 192 F F F 24 480-499 114 114 114 191 191 191 F F F 25 500-519 122 122 122 207 207 207 F F F 26 520-539 122 122 122 207 207 207 F F F 27 540-559 120 120 120 201 201 201 F F F 28 560-579 122 122 122 207 207 207 F F F 29 580-599 116 116 116 193 193 193 F F F Max gen: 123, Max flush: 208 Begin loop 62 Downstairs to restart: 2 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.53292014Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.541233954Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.541554563Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.541590808Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.541600137Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.541611866Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635} {"msg":"Crucible 24ce9970-c307-4777-9ee9-001245bca3d2 has session id: a4dc89bd-e137-4478-bc99-9688e1bbae5a","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.541983648Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"Upstairs opts: Upstairs UUID: 24ce9970-c307-4777-9ee9-001245bca3d2, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.542023703Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"Crucible stats registered with UUID: 24ce9970-c307-4777-9ee9-001245bca3d2","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.542035361Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:46:26.54204492Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.542188472Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"":"io task","client":"1","":"downstairs","session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.542221537Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"":"io task","client":"0","":"downstairs","session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.542232636Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"":"io task","client":"2","":"downstairs","session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.542345981Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"task":"crutest"} {"msg":"The guest has requested activation with gen:124","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.542373318Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635} {"msg":"24ce9970-c307-4777-9ee9-001245bca3d2 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.542389756Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.542398775Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"client":"0","":"downstairs","session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.542408613Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"client":"1","":"downstairs","session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.542418532Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"client":"2","":"downstairs","session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.542428371Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"":"io task","client":"2","":"downstairs","session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.54243862Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"":"io task","client":"0","":"downstairs","session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.542448998Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"":"io task","client":"1","":"downstairs","session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"ds_connection connected from Ok(127.0.0.1:46937)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.5425886Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"":"io task","client":"2","":"downstairs","session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"ds_connection connected from Ok(127.0.0.1:45273)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.542660731Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"":"io task","client":"1","":"downstairs","session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"ds_connection connected from Ok(127.0.0.1:35924)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.542673299Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"":"io task","client":"0","":"downstairs","session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.543187094Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"client":"1","":"downstairs","session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.543230468Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"client":"0","":"downstairs","session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.543257885Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"client":"2","":"downstairs","session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.543509182Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.543521671Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"[0]R flush_numbers[0..12]: [203, 208, 208, 200, 208, 180, 208, 208, 185, 181, 199, 192]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.543562785Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"":"downstairs","":"downstairs","session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"[0]R generation[0..12]: [120, 123, 123, 119, 123, 108, 123, 123, 112, 110, 118, 115]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.543574244Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"":"downstairs","":"downstairs","session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.543585463Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"":"downstairs","":"downstairs","session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"[1]R flush_numbers[0..12]: [203, 208, 208, 200, 208, 180, 208, 208, 185, 181, 199, 192]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.543596131Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"":"downstairs","":"downstairs","session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"[1]R generation[0..12]: [120, 123, 123, 119, 123, 108, 123, 123, 112, 110, 118, 115]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.54360661Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"":"downstairs","":"downstairs","session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.543617928Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"":"downstairs","":"downstairs","session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"[2]R flush_numbers[0..12]: [203, 208, 208, 200, 208, 180, 208, 208, 185, 181, 199, 192]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.543628777Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"":"downstairs","":"downstairs","session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"[2]R generation[0..12]: [120, 123, 123, 119, 123, 108, 123, 123, 112, 110, 118, 115]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.543639576Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"":"downstairs","":"downstairs","session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.543650614Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"":"downstairs","":"downstairs","session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"Max found gen is 124","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.543660173Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"":"downstairs","":"downstairs","session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"Generation requested: 124 >= found:124","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.543670092Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"":"downstairs","":"downstairs","session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"Next flush: 209","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.54368093Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"":"downstairs","":"downstairs","session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.543690759Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"":"downstairs","":"downstairs","session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.543700718Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.543709757Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"client":"0","":"downstairs","session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.543719615Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"client":"1","":"downstairs","session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.543729464Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"client":"2","":"downstairs","session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.543739493Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.543748852Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"24ce9970-c307-4777-9ee9-001245bca3d2 is now active with session: a4dc89bd-e137-4478-bc99-9688e1bbae5a","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.54375894Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.543767889Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"session_id":"a4dc89bd-e137-4478-bc99-9688e1bbae5a"} {"msg":"The guest has finished waiting for activation with:124","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.543777228Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635} {"msg":"Activated sub_volume 24ce9970-c307-4777-9ee9-001245bca3d2","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.543785387Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.543793786Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.544131542Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"task":"crutest"} 01/30 Write block 313 len 8192 data: 10 5 02/30 Read block 482 len 36864 03/30 Write block 205 len 28672 data: 7 10 11 13 11 11 12 04/30 Read block 540 len 32768 05/30 Write block 280 len 20480 data: 14 13 12 12 12 06/30 Read block 445 len 32768 07/30 Write block 369 len 28672 data: 8 9 14 15 13 15 12 08/30 Read block 318 len 4096 09/30 Write block 389 len 40960 data: 10 9 11 10 11 9 11 10 11 11 10/30 Read block 92 len 16384 11/30 Write block 8 len 36864 data: 15 16 14 15 12 9 8 6 4 12/30 Write block 19 len 16384 data: 9 9 8 9 13/30 Read block 162 len 24576 14/30 Read block 142 len 28672 15/30 Read block 201 len 36864 16/30 Read block 79 len 28672 17/30 Flush 18/30 Write block 436 len 36864 data: 8 9 8 8 9 9 8 11 13 19/30 Read block 39 len 24576 20/30 Write block 304 len 12288 data: 9 11 11 21/30 Read block 70 len 32768 22/30 Read block 107 len 20480 23/30 Write block 20 len 8192 data: 10 9 24/30 Read block 54 len 12288 25/30 Read block 349 len 28672 26/30 Read block 199 len 20480 27/30 Write block 115 len 8192 data: 7 5 28/30 Write block 124 len 24576 data: 6 7 4 4 5 7 29/30 Read block 309 len 4096 30/30 Write block 516 len 16384 data: 10 9 7 6 ---------------------------------------------------------------- Crucible gen:124 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 2 Done Done Sent false 1001 Acked Read 9 Done Done Sent false 1002 Acked Write 7 Done Done Sent false 1003 Acked Read 8 Done Done Sent false 1004 Acked Write 5 Done Done Sent false 1005 Acked Read 8 Done Done Sent false 1006 Acked Write 7 Done Done Sent false 1007 Acked Read 1 Done Done Sent false 1008 Acked Write 10 Done Done Sent false 1009 Acked Read 4 Done Done Sent false 1010 Acked Write 9 Done Done Sent false 1011 Acked Write 4 Done Done Sent false 1012 Acked Read 6 Done Done Sent false 1013 Acked Read 7 Done Done Sent false 1014 Acked Read 9 Done Done Sent false 1015 Acked Read 7 Done Done Sent false 1016 Acked Flush 0 Done Done Sent false 1017 Acked Write 9 Done Done Sent false 1018 Acked Read 6 Done Done Sent false 1019 Acked Write 3 Done Done Sent false 1020 Acked Read 8 Done Done Sent false 1021 Acked Read 5 Done Done Sent false 1022 Acked Write 2 Done Done Sent false 1023 Acked Read 3 Done Done Sent false 1024 Acked Read 7 Done Done Sent false 1025 Acked Read 5 Done Done Sent false 1026 Acked Write 2 Done Done Sent false 1027 Acked Write 6 Done Done Sent false 1028 Acked Read 1 Done Done Sent false 1029 Acked Write 4 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 1 1 30 32 Done 29 29 0 58 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1016)) Some(JobId(1016)) None Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:46:26.55272538Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:26.553045019Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1635,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 124 124 120 209 209 203 F F F <--- 1 020-039 124 124 123 209 209 208 T T F <--- 2 040-059 123 123 123 208 208 208 F F F 3 060-079 119 119 119 200 200 200 F F F 4 080-099 123 123 123 208 208 208 F F F 5 100-119 108 108 108 180 180 180 T T F <--- 6 120-139 123 123 123 208 208 208 T T F <--- 7 140-159 123 123 123 208 208 208 F F F 8 160-179 112 112 112 185 185 185 F F F 9 180-199 110 110 110 181 181 181 F F F 10 200-219 124 124 118 209 209 199 F F F <--- 11 220-239 115 115 115 192 192 192 F F F 12 240-259 120 120 120 203 203 203 F F F 13 260-279 120 120 120 203 203 203 F F F 14 280-299 124 124 123 209 209 208 F F F <--- 15 300-319 124 124 123 209 209 208 T T F <--- 16 320-339 122 122 122 205 205 205 F F F 17 340-359 123 123 123 208 208 208 F F F 18 360-379 124 124 120 209 209 203 F F F <--- 19 380-399 124 124 119 209 209 200 F F F <--- 20 400-419 121 121 121 204 204 204 F F F 21 420-439 121 121 121 204 204 204 T T F <--- 22 440-459 122 122 122 205 205 205 T T F <--- 23 460-479 115 115 115 192 192 192 F F F 24 480-499 114 114 114 191 191 191 F F F 25 500-519 122 122 122 207 207 207 T T F <--- 26 520-539 122 122 122 207 207 207 F F F 27 540-559 120 120 120 201 201 201 F F F 28 560-579 122 122 122 207 207 207 F F F 29 580-599 116 116 116 193 193 193 F F F Max gen: 124, Max flush: 209 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 62 Verifying data now No change after verify Loop: 62 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 124 124 124 209 209 209 F F F 1 020-039 125 125 125 210 210 210 F F F 2 040-059 123 123 123 208 208 208 F F F 3 060-079 119 119 119 200 200 200 F F F 4 080-099 123 123 123 208 208 208 F F F 5 100-119 125 125 125 210 210 210 F F F 6 120-139 125 125 125 210 210 210 F F F 7 140-159 123 123 123 208 208 208 F F F 8 160-179 112 112 112 185 185 185 F F F 9 180-199 110 110 110 181 181 181 F F F 10 200-219 124 124 124 209 209 209 F F F 11 220-239 115 115 115 192 192 192 F F F 12 240-259 120 120 120 203 203 203 F F F 13 260-279 120 120 120 203 203 203 F F F 14 280-299 124 124 124 209 209 209 F F F 15 300-319 125 125 125 210 210 210 F F F 16 320-339 122 122 122 205 205 205 F F F 17 340-359 123 123 123 208 208 208 F F F 18 360-379 124 124 124 209 209 209 F F F 19 380-399 124 124 124 209 209 209 F F F 20 400-419 121 121 121 204 204 204 F F F 21 420-439 125 125 125 210 210 210 F F F 22 440-459 125 125 125 210 210 210 F F F 23 460-479 115 115 115 192 192 192 F F F 24 480-499 114 114 114 191 191 191 F F F 25 500-519 125 125 125 210 210 210 F F F 26 520-539 122 122 122 207 207 207 F F F 27 540-559 120 120 120 201 201 201 F F F 28 560-579 122 122 122 207 207 207 F F F 29 580-599 116 116 116 193 193 193 F F F Max gen: 125, Max flush: 210 Begin loop 63 Downstairs to restart: 2 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.797785532Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.805977102Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.806313169Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.806351654Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.806360823Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.806372461Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643} {"msg":"Crucible 20d0990d-b22a-4424-9efc-a4e4cd0385d0 has session id: d172f48a-bb9d-47ae-9a85-f63e5ab5985b","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.806731005Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"Upstairs opts: Upstairs UUID: 20d0990d-b22a-4424-9efc-a4e4cd0385d0, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.806760141Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"Crucible stats registered with UUID: 20d0990d-b22a-4424-9efc-a4e4cd0385d0","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.80677284Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:46:30.806782589Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.806939398Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"":"io task","client":"0","":"downstairs","session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.806954946Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"":"io task","client":"2","":"downstairs","session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.806965215Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"":"io task","client":"1","":"downstairs","session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.807105487Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"task":"crutest"} {"msg":"The guest has requested activation with gen:126","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.807133314Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643} {"msg":"20d0990d-b22a-4424-9efc-a4e4cd0385d0 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.807151871Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.80716088Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"client":"0","":"downstairs","session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.807170799Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"client":"1","":"downstairs","session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.807180678Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"client":"2","":"downstairs","session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.807191946Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"":"io task","client":"2","":"downstairs","session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.807202265Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"":"io task","client":"0","":"downstairs","session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.807212413Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"":"io task","client":"1","":"downstairs","session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"ds_connection connected from Ok(127.0.0.1:64481)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.807290343Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"":"io task","client":"1","":"downstairs","session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"ds_connection connected from Ok(127.0.0.1:39427)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.807387671Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"":"io task","client":"2","":"downstairs","session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"ds_connection connected from Ok(127.0.0.1:48998)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.807399739Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"":"io task","client":"0","":"downstairs","session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.807988004Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"client":"1","":"downstairs","session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.808025529Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"client":"0","":"downstairs","session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.808046936Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"client":"2","":"downstairs","session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.80832909Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.808376504Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"[0]R flush_numbers[0..12]: [209, 210, 208, 200, 208, 210, 210, 208, 185, 181, 209, 192]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.808442246Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"":"downstairs","":"downstairs","session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"[0]R generation[0..12]: [124, 125, 123, 119, 123, 125, 125, 123, 112, 110, 124, 115]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.808453604Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"":"downstairs","":"downstairs","session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.808464913Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"":"downstairs","":"downstairs","session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"[1]R flush_numbers[0..12]: [209, 210, 208, 200, 208, 210, 210, 208, 185, 181, 209, 192]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.808475701Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"":"downstairs","":"downstairs","session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"[1]R generation[0..12]: [124, 125, 123, 119, 123, 125, 125, 123, 112, 110, 124, 115]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.80848625Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"":"downstairs","":"downstairs","session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.808497399Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"":"downstairs","":"downstairs","session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"[2]R flush_numbers[0..12]: [209, 210, 208, 200, 208, 210, 210, 208, 185, 181, 209, 192]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.808508157Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"":"downstairs","":"downstairs","session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"[2]R generation[0..12]: [124, 125, 123, 119, 123, 125, 125, 123, 112, 110, 124, 115]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.808518856Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"":"downstairs","":"downstairs","session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.808532344Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"":"downstairs","":"downstairs","session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"Max found gen is 126","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.808542033Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"":"downstairs","":"downstairs","session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"Generation requested: 126 >= found:126","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.808551902Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"":"downstairs","":"downstairs","session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"Next flush: 211","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.80856144Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"":"downstairs","":"downstairs","session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.808570939Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"":"downstairs","":"downstairs","session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.808581018Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.808590107Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"client":"0","":"downstairs","session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.808600236Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"client":"1","":"downstairs","session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.808610374Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"client":"2","":"downstairs","session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.808620623Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.808630002Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"20d0990d-b22a-4424-9efc-a4e4cd0385d0 is now active with session: d172f48a-bb9d-47ae-9a85-f63e5ab5985b","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.8086401Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.808649509Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"session_id":"d172f48a-bb9d-47ae-9a85-f63e5ab5985b"} {"msg":"The guest has finished waiting for activation with:126","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.808658718Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643} {"msg":"Activated sub_volume 20d0990d-b22a-4424-9efc-a4e4cd0385d0","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.808666917Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.808675196Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.809010623Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"task":"crutest"} 01/30 Flush 02/30 Write block 392 len 32768 data: 11 12 10 12 11 12 12 13 03/30 Write block 145 len 36864 data: 11 11 10 8 9 10 8 6 6 04/30 Flush 05/30 Flush 06/30 Write block 59 len 4096 data: 13 07/30 Write block 248 len 32768 data: 8 10 10 9 9 9 8 8 08/30 Read block 564 len 20480 09/30 Write block 323 len 8192 data: 13 15 10/30 Read block 363 len 4096 11/30 Read block 428 len 20480 12/30 Write block 497 len 12288 data: 8 8 9 13/30 Read block 94 len 4096 14/30 Write block 343 len 20480 data: 15 16 16 16 13 15/30 Write block 83 len 16384 data: 7 8 8 8 16/30 Write block 572 len 40960 data: 13 13 12 11 16 12 11 10 9 10 17/30 Read block 176 len 28672 18/30 Write block 317 len 24576 data: 7 9 7 9 8 11 19/30 Write block 146 len 20480 data: 12 11 9 10 11 20/30 Write block 560 len 24576 data: 12 9 9 9 8 9 21/30 Read block 568 len 12288 22/30 Read block 444 len 4096 23/30 Write block 62 len 12288 data: 12 12 10 24/30 Read block 126 len 32768 25/30 Read block 267 len 28672 26/30 Write block 398 len 24576 data: 13 14 14 13 16 18 27/30 Write block 277 len 4096 data: 12 28/30 Write block 473 len 36864 data: 15 13 12 15 15 12 11 8 8 29/30 Write block 306 len 8192 data: 12 12 30/30 Read block 352 len 28672 ---------------------------------------------------------------- Crucible gen:126 GIO:true work queues: Upstairs:0 downstairs:29 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1001 Acked Write 8 Done Done Sent false 1002 Acked Write 9 Done Done Sent false 1003 Acked Flush 0 Done Done Sent false 1004 Acked Flush 0 Done Done Sent false 1005 Acked Write 1 Done Done Sent false 1006 Acked Write 8 Done Done Sent false 1007 Acked Read 5 Done Done Sent false 1008 Acked Write 2 Done Done Sent false 1009 Acked Read 1 Done Done Sent false 1010 Acked Read 5 Done Done Sent false 1011 Acked Write 3 Done Done Sent false 1012 Acked Read 1 Done Done Sent false 1013 Acked Write 5 Done Done Sent false 1014 Acked Write 4 Done Done Sent false 1015 Acked Write 10 Done Done Sent false 1016 Acked Read 7 Done Done Sent false 1017 Acked Write 6 Done Done Sent false 1018 Acked Write 5 Done Done Sent false 1019 Acked Write 6 Done Done Sent false 1020 Acked Read 3 Done Done Sent false 1021 Acked Read 1 Done Done Sent false 1022 Acked Write 3 Done Done Sent false 1023 Acked Read 8 Done Done Sent false 1024 Acked Read 7 Done Done Sent false 1025 Acked Write 6 Done Done Sent false 1026 Acked Write 1 Done Done Sent false 1027 Acked Write 9 Done Done Sent false 1028 Acked Write 2 Done Done Sent false 1029 Acked Read 7 Done Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 0 1 29 30 Done 29 28 0 57 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1004)) Some(JobId(1004)) Some(JobId(1000)) Downstairs last five completed: 1000 Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:46:30.815887161Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:30.816182903Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1643,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 124 124 124 209 209 209 F F F 1 020-039 125 125 125 210 210 210 F F F 2 040-059 123 123 123 208 208 208 T T F <--- 3 060-079 119 119 119 200 200 200 T T F <--- 4 080-099 123 123 123 208 208 208 T T F <--- 5 100-119 125 125 125 210 210 210 F F F 6 120-139 125 125 125 210 210 210 F F F 7 140-159 126 126 123 212 212 208 T T F <--- 8 160-179 112 112 112 185 185 185 F F F 9 180-199 110 110 110 181 181 181 F F F 10 200-219 124 124 124 209 209 209 F F F 11 220-239 115 115 115 192 192 192 F F F 12 240-259 120 120 120 203 203 203 T T F <--- 13 260-279 120 120 120 203 203 203 T T F <--- 14 280-299 124 124 124 209 209 209 F F F 15 300-319 125 125 125 210 210 210 T T F <--- 16 320-339 122 122 122 205 205 205 T T F <--- 17 340-359 123 123 123 208 208 208 T T F <--- 18 360-379 124 124 124 209 209 209 F F F 19 380-399 126 126 124 212 212 209 T T F <--- 20 400-419 121 121 121 204 204 204 T T F <--- 21 420-439 125 125 125 210 210 210 F F F 22 440-459 125 125 125 210 210 210 F F F 23 460-479 115 115 115 192 192 192 T T F <--- 24 480-499 114 114 114 191 191 191 T T F <--- 25 500-519 125 125 125 210 210 210 F F F 26 520-539 122 122 122 207 207 207 F F F 27 540-559 120 120 120 201 201 201 F F F 28 560-579 122 122 122 207 207 207 T T F <--- 29 580-599 116 116 116 193 193 193 T T F <--- Max gen: 126, Max flush: 212 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 63 Verifying data now No change after verify Loop: 63 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 124 124 124 209 209 209 F F F 1 020-039 125 125 125 210 210 210 F F F 2 040-059 127 127 127 213 213 213 F F F 3 060-079 127 127 127 213 213 213 F F F 4 080-099 127 127 127 213 213 213 F F F 5 100-119 125 125 125 210 210 210 F F F 6 120-139 125 125 125 210 210 210 F F F 7 140-159 127 127 127 213 213 213 F F F 8 160-179 112 112 112 185 185 185 F F F 9 180-199 110 110 110 181 181 181 F F F 10 200-219 124 124 124 209 209 209 F F F 11 220-239 115 115 115 192 192 192 F F F 12 240-259 127 127 127 213 213 213 F F F 13 260-279 127 127 127 213 213 213 F F F 14 280-299 124 124 124 209 209 209 F F F 15 300-319 127 127 127 213 213 213 F F F 16 320-339 127 127 127 213 213 213 F F F 17 340-359 127 127 127 213 213 213 F F F 18 360-379 124 124 124 209 209 209 F F F 19 380-399 127 127 127 213 213 213 F F F 20 400-419 127 127 127 213 213 213 F F F 21 420-439 125 125 125 210 210 210 F F F 22 440-459 125 125 125 210 210 210 F F F 23 460-479 127 127 127 213 213 213 F F F 24 480-499 127 127 127 213 213 213 F F F 25 500-519 125 125 125 210 210 210 F F F 26 520-539 122 122 122 207 207 207 F F F 27 540-559 120 120 120 201 201 201 F F F 28 560-579 127 127 127 213 213 213 F F F 29 580-599 127 127 127 213 213 213 F F F Max gen: 127, Max flush: 213 Begin loop 64 Downstairs to restart: 1 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.06486584Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.073121101Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.073454838Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.073483944Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.073492893Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.073504522Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651} {"msg":"Crucible 33757f8e-78e5-4d67-8af8-2963cf4eb7b4 has session id: 2c3dafd0-754d-4523-9a7d-1703b307a49f","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.073802663Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"Upstairs opts: Upstairs UUID: 33757f8e-78e5-4d67-8af8-2963cf4eb7b4, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.073863966Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"Crucible stats registered with UUID: 33757f8e-78e5-4d67-8af8-2963cf4eb7b4","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.073875574Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:46:35.073885203Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.07406266Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"":"io task","client":"2","":"downstairs","session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.074092456Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"":"io task","client":"1","":"downstairs","session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.074103655Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"":"io task","client":"0","":"downstairs","session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.074204052Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"task":"crutest"} {"msg":"The guest has requested activation with gen:128","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.074235698Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651} {"msg":"33757f8e-78e5-4d67-8af8-2963cf4eb7b4 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.074245507Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.074254726Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"client":"0","":"downstairs","session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.074264544Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"client":"1","":"downstairs","session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.074274293Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"client":"2","":"downstairs","session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.074284322Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"":"io task","client":"2","":"downstairs","session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.074303079Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"":"io task","client":"1","":"downstairs","session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.074313368Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"":"io task","client":"0","":"downstairs","session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"ds_connection connected from Ok(127.0.0.1:40998)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.074395817Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"":"io task","client":"1","":"downstairs","session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"ds_connection connected from Ok(127.0.0.1:64496)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.074421124Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"":"io task","client":"2","":"downstairs","session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"ds_connection connected from Ok(127.0.0.1:57465)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.074432533Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"":"io task","client":"0","":"downstairs","session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.075139382Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"client":"2","":"downstairs","session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.075166379Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"client":"1","":"downstairs","session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.075177697Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"client":"0","":"downstairs","session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.075481028Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.075517584Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"[0]R flush_numbers[0..12]: [209, 210, 213, 213, 213, 210, 210, 213, 185, 181, 209, 192]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.075572677Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"":"downstairs","":"downstairs","session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"[0]R generation[0..12]: [124, 125, 127, 127, 127, 125, 125, 127, 112, 110, 124, 115]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.075584245Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"":"downstairs","":"downstairs","session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.075595694Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"":"downstairs","":"downstairs","session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"[1]R flush_numbers[0..12]: [209, 210, 213, 213, 213, 210, 210, 213, 185, 181, 209, 192]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.075606522Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"":"downstairs","":"downstairs","session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"[1]R generation[0..12]: [124, 125, 127, 127, 127, 125, 125, 127, 112, 110, 124, 115]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.075617231Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"":"downstairs","":"downstairs","session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.075628429Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"":"downstairs","":"downstairs","session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"[2]R flush_numbers[0..12]: [209, 210, 213, 213, 213, 210, 210, 213, 185, 181, 209, 192]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.075642168Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"":"downstairs","":"downstairs","session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"[2]R generation[0..12]: [124, 125, 127, 127, 127, 125, 125, 127, 112, 110, 124, 115]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.075652996Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"":"downstairs","":"downstairs","session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.075664115Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"":"downstairs","":"downstairs","session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"Max found gen is 128","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.075673714Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"":"downstairs","":"downstairs","session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"Generation requested: 128 >= found:128","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.075683612Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"":"downstairs","":"downstairs","session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"Next flush: 214","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.075693051Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"":"downstairs","":"downstairs","session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.07570261Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"":"downstairs","":"downstairs","session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.075712789Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.075721937Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"client":"0","":"downstairs","session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.075732036Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"client":"1","":"downstairs","session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.075741885Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"client":"2","":"downstairs","session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.075751924Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.075761252Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"33757f8e-78e5-4d67-8af8-2963cf4eb7b4 is now active with session: 2c3dafd0-754d-4523-9a7d-1703b307a49f","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.075771451Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.07578061Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"session_id":"2c3dafd0-754d-4523-9a7d-1703b307a49f"} {"msg":"The guest has finished waiting for activation with:128","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.075790979Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651} {"msg":"Activated sub_volume 33757f8e-78e5-4d67-8af8-2963cf4eb7b4","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.075798997Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.075807366Z","hostname":"Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"task":"crutest"} Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.076083031Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"task":"crutest"} 01/30 Write block 176 len 12288 data: 8 10 9 02/30 Read block 257 len 36864 03/30 Write block 265 len 36864 data: 12 11 11 9 8 7 8 8 9 04/30 Write block 442 len 24576 data: 9 12 14 11 9 8 05/30 Flush 06/30 Write block 27 len 20480 data: 9 11 12 12 14 07/30 Read block 179 len 24576 08/30 Read block 571 len 16384 09/30 Write block 529 len 12288 data: 7 7 7 10/30 Read block 501 len 40960 11/30 Read block 251 len 36864 12/30 Read block 498 len 12288 13/30 Write block 203 len 12288 data: 9 6 8 14/30 Write block 486 len 20480 data: 8 7 7 8 9 15/30 Read block 304 len 8192 16/30 Flush 17/30 Flush 18/30 Write block 143 len 20480 data: 11 10 12 13 12 19/30 Flush 20/30 Write block 209 len 36864 data: 12 12 13 9 9 8 9 8 9 21/30 Read block 432 len 36864 22/30 Read block 118 len 20480 23/30 Read block 336 len 8192 24/30 Write block 46 len 20480 data: 7 7 8 7 7 25/30 Read block 275 len 16384 26/30 Read block 297 len 32768 27/30 Write block 467 len 40960 data: 9 10 11 11 13 14 16 14 13 16 28/30 Write block 355 len 32768 data: 11 11 12 11 10 11 11 10 29/30 Read block 285 len 28672 30/30 Write block 408 len 40960 data: 13 9 12 13 13 13 13 10 11 9 ---------------------------------------------------------------- Crucible gen:128 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 3 Done Done Done false 1001 Acked Read 9 Done Done Done false 1002 Acked Write 9 Done Done Done false 1003 Acked Write 6 Done Sent Done false 1004 Acked Flush 0 Done Sent Done false 1005 Acked Write 5 Done Sent Done false 1006 Acked Read 6 Done Sent Done false 1007 Acked Read 4 Done Sent Done false 1008 Acked Write 3 Done Sent Done false 1009 Acked Read 10 Done Sent Done false 1010 Acked Read 9 Done Sent Done false 1011 Acked Read 3 Done Sent Done false 1012 Acked Write 3 Done Sent Done false 1013 Acked Write 5 Done Sent Done false 1014 Acked Read 2 Done Sent Done false 1015 Acked Flush 0 Done Sent Done false 1016 Acked Flush 0 Done Sent Done false 1017 Acked Write 5 Done Sent Done false 1018 Acked Flush 0 Done Sent Done false 1019 Acked Write 9 Done Sent Done false 1020 Acked Read 9 Done Sent Done false 1021 Acked Read 5 Done Sent Done false 1022 Acked Read 2 Done Sent Done false 1023 Acked Write 5 Done Sent Done false 1024 Acked Read 4 Done Sent Done false 1025 Acked Read 8 Done Sent Done false 1026 Acked Write 10 Done Sent Done false 1027 Acked Write 8 Done Sent Done false 1028 Acked Read 7 Done Sent Done false 1029 Acked Write 10 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 1 27 1 29 Done 29 3 29 61 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1018)) None Some(JobId(1018)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:46:35.084501162Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:35.084795904Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1651,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 124 124 124 209 209 209 F F F 1 020-039 128 125 128 215 210 215 F F F <--- 2 040-059 127 127 127 213 213 213 T F T <--- 3 060-079 127 127 127 213 213 213 F F F 4 080-099 127 127 127 213 213 213 F F F 5 100-119 125 125 125 210 210 210 F F F 6 120-139 125 125 125 210 210 210 F F F 7 140-159 128 127 128 217 213 217 F F F <--- 8 160-179 128 112 128 214 185 214 F T F <--- 9 180-199 110 110 110 181 181 181 F F F 10 200-219 128 124 128 215 209 215 T F T <--- 11 220-239 115 115 115 192 192 192 F F F 12 240-259 127 127 127 213 213 213 F F F 13 260-279 128 127 128 214 213 214 F T F <--- 14 280-299 124 124 124 209 209 209 F F F 15 300-319 127 127 127 213 213 213 F F F 16 320-339 127 127 127 213 213 213 F F F 17 340-359 127 127 127 213 213 213 T F T <--- 18 360-379 124 124 124 209 209 209 T F T <--- 19 380-399 127 127 127 213 213 213 F F F 20 400-419 127 127 127 213 213 213 T F T <--- 21 420-439 125 125 125 210 210 210 F F F 22 440-459 128 125 128 214 210 214 F F F <--- 23 460-479 127 127 127 213 213 213 T F T <--- 24 480-499 128 127 128 215 213 215 F F F <--- 25 500-519 125 125 125 210 210 210 F F F 26 520-539 128 122 128 215 207 215 F F F <--- 27 540-559 120 120 120 201 201 201 F F F 28 560-579 127 127 127 213 213 213 F F F 29 580-599 127 127 127 213 213 213 F F F Max gen: 128, Max flush: 217 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 64 Verifying data now No change after verify Loop: 64 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 124 124 124 209 209 209 F F F 1 020-039 128 128 128 215 215 215 F F F 2 040-059 129 129 129 218 218 218 F F F 3 060-079 127 127 127 213 213 213 F F F 4 080-099 127 127 127 213 213 213 F F F 5 100-119 125 125 125 210 210 210 F F F 6 120-139 125 125 125 210 210 210 F F F 7 140-159 128 128 128 217 217 217 F F F 8 160-179 128 128 128 214 214 214 F F F 9 180-199 110 110 110 181 181 181 F F F 10 200-219 129 129 129 218 218 218 F F F 11 220-239 115 115 115 192 192 192 F F F 12 240-259 127 127 127 213 213 213 F F F 13 260-279 128 128 128 214 214 214 F F F 14 280-299 124 124 124 209 209 209 F F F 15 300-319 127 127 127 213 213 213 F F F 16 320-339 127 127 127 213 213 213 F F F 17 340-359 129 129 129 218 218 218 F F F 18 360-379 129 129 129 218 218 218 F F F 19 380-399 127 127 127 213 213 213 F F F 20 400-419 129 129 129 218 218 218 F F F 21 420-439 125 125 125 210 210 210 F F F 22 440-459 128 128 128 214 214 214 F F F 23 460-479 129 129 129 218 218 218 F F F 24 480-499 128 128 128 215 215 215 F F F 25 500-519 125 125 125 210 210 210 F F F 26 520-539 128 128 128 215 215 215 F F F 27 540-559 120 120 120 201 201 201 F F F 28 560-579 127 127 127 213 213 213 F F F 29 580-599 127 127 127 213 213 213 F F F Max gen: 129, Max flush: 218 Begin loop 65 Downstairs to restart: 0 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.324800184Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"task":"crutest"} {"msg":"Failed to get info from \"http://127.0.0.1:12810\" Communication Error: error sending request for url (http://127.0.0.1:12810/region-info)","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:46:39.331883936Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"task":"crutest"} {"msg":"look at: http://127.0.0.1:12820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.331951937Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008820, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.338917434Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.339190249Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.339219035Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.339227604Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.339239262Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659} {"msg":"Crucible b91344ca-da01-4180-8847-82a35e21d6aa has session id: 10b2f190-9c0a-4c19-9f1b-1f83e52b6351","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.339548383Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"Upstairs opts: Upstairs UUID: b91344ca-da01-4180-8847-82a35e21d6aa, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.339582698Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"Crucible stats registered with UUID: b91344ca-da01-4180-8847-82a35e21d6aa","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.339593817Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:46:39.339603876Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.339775784Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"":"io task","client":"0","":"downstairs","session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.33980251Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"":"io task","client":"2","":"downstairs","session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.339813779Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"":"io task","client":"1","":"downstairs","session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.339939713Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"task":"crutest"} {"msg":"The guest has requested activation with gen:130","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.33996376Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659} {"msg":"b91344ca-da01-4180-8847-82a35e21d6aa active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.339974098Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.339983137Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"client":"0","":"downstairs","session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.339994836Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"client":"1","":"downstairs","session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.340004834Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"client":"2","":"downstairs","session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.340014583Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"":"io task","client":"0","":"downstairs","session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.340024722Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"":"io task","client":"2","":"downstairs","session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.34003486Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"":"io task","client":"1","":"downstairs","session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"ds_connection connected from Ok(127.0.0.1:55581)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.340094373Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"":"io task","client":"0","":"downstairs","session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"ds_connection connected from Ok(127.0.0.1:64121)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.340105431Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"":"io task","client":"1","":"downstairs","session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"ds_connection connected from Ok(127.0.0.1:63335)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.340198279Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"":"io task","client":"2","":"downstairs","session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.340786224Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"client":"1","":"downstairs","session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.340826399Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"client":"0","":"downstairs","session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.340838347Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"client":"2","":"downstairs","session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.341091545Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.34112581Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"[0]R flush_numbers[0..12]: [209, 215, 218, 213, 213, 210, 210, 217, 214, 181, 218, 192]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.341182413Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"":"downstairs","":"downstairs","session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"[0]R generation[0..12]: [124, 128, 129, 127, 127, 125, 125, 128, 128, 110, 129, 115]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.341193962Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"":"downstairs","":"downstairs","session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.34120766Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"":"downstairs","":"downstairs","session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"[1]R flush_numbers[0..12]: [209, 215, 218, 213, 213, 210, 210, 217, 214, 181, 218, 192]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.341218619Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"":"downstairs","":"downstairs","session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"[1]R generation[0..12]: [124, 128, 129, 127, 127, 125, 125, 128, 128, 110, 129, 115]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.341229327Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"":"downstairs","":"downstairs","session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.341240206Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"":"downstairs","":"downstairs","session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"[2]R flush_numbers[0..12]: [209, 215, 218, 213, 213, 210, 210, 217, 214, 181, 218, 192]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.341250834Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"":"downstairs","":"downstairs","session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"[2]R generation[0..12]: [124, 128, 129, 127, 127, 125, 125, 128, 128, 110, 129, 115]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.341261473Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"":"downstairs","":"downstairs","session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.341272472Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"":"downstairs","":"downstairs","session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"Max found gen is 130","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.341282Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"":"downstairs","":"downstairs","session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"Generation requested: 130 >= found:130","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.341292109Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"":"downstairs","":"downstairs","session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"Next flush: 219","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.341301638Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"":"downstairs","":"downstairs","session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.341311317Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"":"downstairs","":"downstairs","session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.341321145Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.341330134Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"client":"0","":"downstairs","session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.341340073Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"client":"1","":"downstairs","session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.341351012Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"client":"2","":"downstairs","session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.34136096Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.341370359Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"b91344ca-da01-4180-8847-82a35e21d6aa is now active with session: 10b2f190-9c0a-4c19-9f1b-1f83e52b6351","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.341380368Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.341389237Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"session_id":"10b2f190-9c0a-4c19-9f1b-1f83e52b6351"} {"msg":"The guest has finished waiting for activation with:130","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.341398486Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659} {"msg":"Activated sub_volume b91344ca-da01-4180-8847-82a35e21d6aa","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.341406614Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 2026-10-21T21:46:39.341414893Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"task":"crutest"} Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.34167494Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"task":"crutest"} 01/30 Write block 84 len 12288 data: 9 9 9 02/30 Read block 483 len 16384 03/30 Read block 186 len 12288 04/30 Read block 396 len 8192 05/30 Write block 372 len 8192 data: 16 14 06/30 Read block 450 len 4096 07/30 Read block 123 len 24576 08/30 Read block 574 len 28672 09/30 Read block 458 len 40960 10/30 Read block 537 len 20480 11/30 Read block 180 len 28672 12/30 Write block 210 len 4096 data: 13 13/30 Read block 172 len 24576 14/30 Flush 15/30 Write block 234 len 16384 data: 9 12 11 12 16/30 Write block 333 len 28672 data: 9 8 9 8 10 12 14 17/30 Flush 18/30 Write block 537 len 16384 data: 7 7 6 7 19/30 Read block 396 len 40960 20/30 Read block 369 len 32768 21/30 Write block 284 len 32768 data: 13 13 13 14 14 12 10 12 22/30 Write block 310 len 20480 data: 9 9 10 11 6 23/30 Write block 336 len 16384 data: 9 11 13 15 24/30 Flush 25/30 Write block 75 len 20480 data: 9 7 6 4 4 26/30 Write block 341 len 12288 data: 13 12 16 27/30 Read block 136 len 20480 28/30 Write block 110 len 16384 data: 8 8 9 7 29/30 Write block 398 len 16384 data: 14 15 15 14 30/30 Write block 215 len 16384 data: 10 9 10 7 ---------------------------------------------------------------- Crucible gen:130 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 3 Done Done Done false 1001 Acked Read 4 Done Done Done false 1002 Acked Read 3 Sent Done Done false 1003 Acked Read 2 Sent Done Done false 1004 Acked Write 2 Sent Done Done false 1005 Acked Read 1 Sent Done Done false 1006 Acked Read 6 Sent Done Done false 1007 Acked Read 7 Sent Done Done false 1008 Acked Read 10 Sent Done Done false 1009 Acked Read 5 Sent Done Done false 1010 Acked Read 7 Sent Done Done false 1011 Acked Write 1 Sent Done Done false 1012 Acked Read 6 Sent Done Done false 1013 Acked Flush 0 Sent Done Done false 1014 Acked Write 4 Sent Done Done false 1015 Acked Write 7 Sent Done Done false 1016 Acked Flush 0 Sent Done Done false 1017 Acked Write 4 Sent Done Done false 1018 Acked Read 10 Sent Done Done false 1019 Acked Read 8 Sent Done Done false 1020 Acked Write 8 Sent Done Done false 1021 Acked Write 5 Sent Done Done false 1022 Acked Write 4 Sent Done Done false 1023 Acked Flush 0 Sent Done Done false 1024 Acked Write 5 Sent Done Done false 1025 Acked Write 3 Sent Done Done false 1026 Acked Read 5 Sent Done Done false 1027 Acked Write 4 Sent Sent Sent false 1028 Acked Write 4 Sent Sent Sent false 1029 Acked Write 4 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 28 3 3 34 Done 2 27 27 56 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: None Some(JobId(1023)) Some(JobId(1023)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:46:39.349604503Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:39.349900265Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1659,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 124 124 124 209 209 209 F F F 1 020-039 128 128 128 215 215 215 F F F 2 040-059 129 129 129 218 218 218 F F F 3 060-079 127 127 127 213 213 213 F T T <--- 4 080-099 127 130 130 213 219 219 T F F <--- 5 100-119 125 125 125 210 210 210 F T T <--- 6 120-139 125 125 125 210 210 210 F F F 7 140-159 128 128 128 217 217 217 F F F 8 160-179 128 128 128 214 214 214 F F F 9 180-199 110 110 110 181 181 181 F F F 10 200-219 129 130 130 218 219 219 F T T <--- 11 220-239 115 130 130 192 220 220 F F F <--- 12 240-259 127 127 127 213 213 213 F F F 13 260-279 128 128 128 214 214 214 F F F 14 280-299 124 130 130 209 221 221 F F F <--- 15 300-319 127 130 130 213 221 221 F F F <--- 16 320-339 127 130 130 213 221 221 F F F <--- 17 340-359 129 129 129 218 218 218 F T T <--- 18 360-379 129 130 130 218 219 219 F F F <--- 19 380-399 127 127 127 213 213 213 F T T <--- 20 400-419 129 129 129 218 218 218 F T T <--- 21 420-439 125 125 125 210 210 210 F F F 22 440-459 128 128 128 214 214 214 F F F 23 460-479 129 129 129 218 218 218 F F F 24 480-499 128 128 128 215 215 215 F F F 25 500-519 125 125 125 210 210 210 F F F 26 520-539 128 130 130 215 221 221 F F F <--- 27 540-559 120 130 130 201 221 221 F F F <--- 28 560-579 127 127 127 213 213 213 F F F 29 580-599 127 127 127 213 213 213 F F F Max gen: 130, Max flush: 221 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 65 Verifying data now No change after verify Loop: 65 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 124 124 124 209 209 209 F F F 1 020-039 128 128 128 215 215 215 F F F 2 040-059 129 129 129 218 218 218 F F F 3 060-079 131 131 131 222 222 222 F F F 4 080-099 130 130 130 219 219 219 F F F 5 100-119 131 131 131 222 222 222 F F F 6 120-139 125 125 125 210 210 210 F F F 7 140-159 128 128 128 217 217 217 F F F 8 160-179 128 128 128 214 214 214 F F F 9 180-199 110 110 110 181 181 181 F F F 10 200-219 131 131 131 222 222 222 F F F 11 220-239 130 130 130 220 220 220 F F F 12 240-259 127 127 127 213 213 213 F F F 13 260-279 128 128 128 214 214 214 F F F 14 280-299 130 130 130 221 221 221 F F F 15 300-319 130 130 130 221 221 221 F F F 16 320-339 130 130 130 221 221 221 F F F 17 340-359 131 131 131 222 222 222 F F F 18 360-379 130 130 130 219 219 219 F F F 19 380-399 131 131 131 222 222 222 F F F 20 400-419 131 131 131 222 222 222 F F F 21 420-439 125 125 125 210 210 210 F F F 22 440-459 128 128 128 214 214 214 F F F 23 460-479 129 129 129 218 218 218 F F F 24 480-499 128 128 128 215 215 215 F F F 25 500-519 125 125 125 210 210 210 F F F 26 520-539 130 130 130 221 221 221 F F F 27 540-559 130 130 130 221 221 221 F F F 28 560-579 127 127 127 213 213 213 F F F 29 580-599 127 127 127 213 213 213 F F F Max gen: 131, Max flush: 222 Begin loop 66 Downstairs to restart: 1 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.597325544Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.605693671Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.60601146Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.606040906Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.606050025Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.606061634Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667} {"msg":"Crucible f514ef1b-dc6f-44b1-8f17-b5543441aabb has session id: 06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.606392251Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"Upstairs opts: Upstairs UUID: f514ef1b-dc6f-44b1-8f17-b5543441aabb, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.606415738Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"Crucible stats registered with UUID: f514ef1b-dc6f-44b1-8f17-b5543441aabb","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.606425817Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:46:43.606438275Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.606595955Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"":"io task","client":"1","":"downstairs","session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.606626291Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"":"io task","client":"0","":"downstairs","session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.60663739Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"":"io task","client":"2","":"downstairs","session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.606767363Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"task":"crutest"} {"msg":"The guest has requested activation with gen:132","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.60679364Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667} {"msg":"f514ef1b-dc6f-44b1-8f17-b5543441aabb active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.606811807Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.606820986Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"client":"0","":"downstairs","session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.606830815Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"client":"1","":"downstairs","session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.606840604Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"client":"2","":"downstairs","session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.606850422Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"":"io task","client":"2","":"downstairs","session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.606860681Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"":"io task","client":"0","":"downstairs","session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.60687083Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"":"io task","client":"1","":"downstairs","session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"ds_connection connected from Ok(127.0.0.1:38371)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.606907855Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"":"io task","client":"2","":"downstairs","session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"ds_connection connected from Ok(127.0.0.1:52801)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.606933662Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"":"io task","client":"1","":"downstairs","session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"ds_connection connected from Ok(127.0.0.1:46805)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.607006672Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"":"io task","client":"0","":"downstairs","session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.607637042Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"client":"0","":"downstairs","session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.607664438Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"client":"1","":"downstairs","session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.607675867Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"client":"2","":"downstairs","session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.607974968Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.608017793Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"[0]R flush_numbers[0..12]: [209, 215, 218, 222, 219, 222, 210, 217, 214, 181, 222, 220]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.608062567Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"":"downstairs","":"downstairs","session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"[0]R generation[0..12]: [124, 128, 129, 131, 130, 131, 125, 128, 128, 110, 131, 130]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.608075075Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"":"downstairs","":"downstairs","session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.608086544Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"":"downstairs","":"downstairs","session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"[1]R flush_numbers[0..12]: [209, 215, 218, 222, 219, 222, 210, 217, 214, 181, 222, 220]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.608097563Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"":"downstairs","":"downstairs","session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"[1]R generation[0..12]: [124, 128, 129, 131, 130, 131, 125, 128, 128, 110, 131, 130]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.608108321Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"":"downstairs","":"downstairs","session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.60811945Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"":"downstairs","":"downstairs","session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"[2]R flush_numbers[0..12]: [209, 215, 218, 222, 219, 222, 210, 217, 214, 181, 222, 220]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.608130378Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"":"downstairs","":"downstairs","session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"[2]R generation[0..12]: [124, 128, 129, 131, 130, 131, 125, 128, 128, 110, 131, 130]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.608141037Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"":"downstairs","":"downstairs","session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.608152066Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"":"downstairs","":"downstairs","session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"Max found gen is 132","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.608161724Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"":"downstairs","":"downstairs","session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"Generation requested: 132 >= found:132","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.608171573Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"":"downstairs","":"downstairs","session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"Next flush: 223","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.608181052Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"":"downstairs","":"downstairs","session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.608190721Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"":"downstairs","":"downstairs","session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.608200669Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.608211108Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"client":"0","":"downstairs","session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.608221157Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"client":"1","":"downstairs","session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.608230965Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"client":"2","":"downstairs","session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.608240904Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.608250293Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"f514ef1b-dc6f-44b1-8f17-b5543441aabb is now active with session: 06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.608260402Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.608269371Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"session_id":"06fcc46d-9fe1-40f5-9b3b-5f39f8d9a4b0"} {"msg":"The guest has finished waiting for activation with:132","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.608278699Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667} {"msg":"Activated sub_volume f514ef1b-dc6f-44b1-8f17-b5543441aabb","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.608286778Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.608295097Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.608656321Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"task":"crutest"} 01/30 Write block 588 len 28672 data: 13 12 9 9 6 8 7 02/30 Read block 40 len 40960 03/30 Read block 293 len 8192 04/30 Read block 580 len 28672 05/30 Read block 15 len 24576 06/30 Read block 438 len 36864 07/30 Write block 179 len 32768 data: 7 12 10 11 9 7 7 9 08/30 Read block 327 len 24576 09/30 Read block 264 len 40960 10/30 Read block 129 len 12288 11/30 Read block 4 len 16384 12/30 Write block 111 len 12288 data: 9 10 8 13/30 Read block 322 len 16384 14/30 Read block 524 len 40960 15/30 Write block 180 len 28672 data: 13 11 12 10 8 8 10 16/30 Read block 218 len 8192 17/30 Write block 123 len 24576 data: 8 7 8 5 5 6 18/30 Read block 270 len 32768 19/30 Write block 449 len 8192 data: 11 9 20/30 Write block 2 len 8192 data: 5 6 21/30 Write block 507 len 32768 data: 10 12 12 12 13 12 10 12 22/30 Read block 288 len 8192 23/30 Write block 374 len 8192 data: 16 13 24/30 Write block 301 len 12288 data: 13 12 9 25/30 Read block 23 len 4096 26/30 Flush 27/30 Write block 124 len 4096 data: 8 28/30 Read block 393 len 12288 29/30 Write block 116 len 20480 data: 6 6 5 7 8 30/30 Write block 465 len 32768 data: 6 8 10 11 12 12 14 15 ---------------------------------------------------------------- Crucible gen:132 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 7 Done Done Done false 1001 Acked Read 10 Done Sent Done false 1002 Acked Read 2 Done Sent Done false 1003 Acked Read 7 Done Sent Done false 1004 Acked Read 6 Done Sent Done false 1005 Acked Read 9 Done Sent Done false 1006 Acked Write 8 Done Sent Done false 1007 Acked Read 6 Done Sent Done false 1008 Acked Read 10 Done Sent Done false 1009 Acked Read 3 Done Sent Done false 1010 Acked Read 4 Done Sent Done false 1011 Acked Write 3 Done Sent Done false 1012 Acked Read 4 Done Sent Done false 1013 Acked Read 10 Done Sent Done false 1014 Acked Write 7 Done Sent Done false 1015 Acked Read 2 Done Sent Done false 1016 Acked Write 6 Done Sent Done false 1017 Acked Read 8 Done Sent Done false 1018 Acked Write 2 Done Sent Done false 1019 Acked Write 2 Done Sent Done false 1020 Acked Write 8 Done Sent Done false 1021 Acked Read 2 Done Sent Done false 1022 Acked Write 2 Done Sent Done false 1023 Acked Write 3 Done Sent Done false 1024 Acked Read 1 Done Sent Done false 1025 Acked Flush 0 Done Sent Done false 1026 Acked Write 1 Done Sent Done false 1027 Acked Read 3 Done Sent Done false 1028 Acked Write 5 Sent Sent Sent false 1029 Acked Write 8 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 2 29 2 33 Done 28 1 28 57 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1025)) None Some(JobId(1025)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:46:43.616485297Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:43.616807596Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1667,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 132 124 132 223 209 223 F F F <--- 1 020-039 128 128 128 215 215 215 F F F 2 040-059 129 129 129 218 218 218 F F F 3 060-079 131 131 131 222 222 222 F F F 4 080-099 130 130 130 219 219 219 F F F 5 100-119 132 131 132 223 222 223 T F T <--- 6 120-139 132 125 132 223 210 223 T F T <--- 7 140-159 128 128 128 217 217 217 F F F 8 160-179 132 128 132 223 214 223 F F F <--- 9 180-199 132 110 132 223 181 223 F F F <--- 10 200-219 131 131 131 222 222 222 F F F 11 220-239 130 130 130 220 220 220 F F F 12 240-259 127 127 127 213 213 213 F F F 13 260-279 128 128 128 214 214 214 F F F 14 280-299 130 130 130 221 221 221 F F F 15 300-319 132 130 132 223 221 223 F F F <--- 16 320-339 130 130 130 221 221 221 F F F 17 340-359 131 131 131 222 222 222 F F F 18 360-379 132 130 132 223 219 223 F F F <--- 19 380-399 131 131 131 222 222 222 F F F 20 400-419 131 131 131 222 222 222 F F F 21 420-439 125 125 125 210 210 210 F F F 22 440-459 132 128 132 223 214 223 F F F <--- 23 460-479 129 129 129 218 218 218 T F T <--- 24 480-499 128 128 128 215 215 215 F F F 25 500-519 132 125 132 223 210 223 F F F <--- 26 520-539 130 130 130 221 221 221 F F F 27 540-559 130 130 130 221 221 221 F F F 28 560-579 127 127 127 213 213 213 F F F 29 580-599 132 127 132 223 213 223 F T F <--- Max gen: 132, Max flush: 223 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 66 Verifying data now No change after verify Loop: 66 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 132 132 132 223 223 223 F F F 1 020-039 128 128 128 215 215 215 F F F 2 040-059 129 129 129 218 218 218 F F F 3 060-079 131 131 131 222 222 222 F F F 4 080-099 130 130 130 219 219 219 F F F 5 100-119 133 133 133 224 224 224 F F F 6 120-139 133 133 133 224 224 224 F F F 7 140-159 128 128 128 217 217 217 F F F 8 160-179 132 132 132 223 223 223 F F F 9 180-199 132 132 132 223 223 223 F F F 10 200-219 131 131 131 222 222 222 F F F 11 220-239 130 130 130 220 220 220 F F F 12 240-259 127 127 127 213 213 213 F F F 13 260-279 128 128 128 214 214 214 F F F 14 280-299 130 130 130 221 221 221 F F F 15 300-319 132 132 132 223 223 223 F F F 16 320-339 130 130 130 221 221 221 F F F 17 340-359 131 131 131 222 222 222 F F F 18 360-379 132 132 132 223 223 223 F F F 19 380-399 131 131 131 222 222 222 F F F 20 400-419 131 131 131 222 222 222 F F F 21 420-439 125 125 125 210 210 210 F F F 22 440-459 132 132 132 223 223 223 F F F 23 460-479 133 133 133 224 224 224 F F F 24 480-499 128 128 128 215 215 215 F F F 25 500-519 132 132 132 223 223 223 F F F 26 520-539 130 130 130 221 221 221 F F F 27 540-559 130 130 130 221 221 221 F F F 28 560-579 127 127 127 213 213 213 F F F 29 580-599 132 132 132 223 223 223 F F F Max gen: 133, Max flush: 224 Begin loop 67 Downstairs to restart: 2 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.855002998Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.863153003Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.863468102Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.863498528Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.863507327Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.863518826Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675} {"msg":"Crucible 7ad1f839-dfa6-458b-a97d-eed48f8b1569 has session id: 92d21425-b45e-4cd1-9850-5f4e2b7a0bd7","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.863905086Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"Upstairs opts: Upstairs UUID: 7ad1f839-dfa6-458b-a97d-eed48f8b1569, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.863928923Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"Crucible stats registered with UUID: 7ad1f839-dfa6-458b-a97d-eed48f8b1569","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.863939042Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:46:47.863949731Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.864121369Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"":"io task","client":"2","":"downstairs","session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.864152765Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"":"io task","client":"0","":"downstairs","session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.864164043Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"":"io task","client":"1","":"downstairs","session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.86426705Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"task":"crutest"} {"msg":"The guest has requested activation with gen:134","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.864300586Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675} {"msg":"7ad1f839-dfa6-458b-a97d-eed48f8b1569 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.864309614Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.864318603Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"client":"0","":"downstairs","session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.864328562Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"client":"1","":"downstairs","session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.864338461Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"client":"2","":"downstairs","session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.864348179Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"":"io task","client":"2","":"downstairs","session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.864358228Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"":"io task","client":"0","":"downstairs","session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.864368287Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"":"io task","client":"1","":"downstairs","session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"ds_connection connected from Ok(127.0.0.1:42310)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.864429709Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"":"io task","client":"2","":"downstairs","session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"ds_connection connected from Ok(127.0.0.1:56111)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.864440958Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"":"io task","client":"0","":"downstairs","session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"ds_connection connected from Ok(127.0.0.1:54560)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.864451516Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"":"io task","client":"1","":"downstairs","session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.865112521Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"client":"1","":"downstairs","session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.865155096Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"client":"0","":"downstairs","session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.865169234Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"client":"2","":"downstairs","session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.865428221Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.865468586Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"[0]R flush_numbers[0..12]: [223, 215, 218, 222, 219, 224, 224, 217, 223, 223, 222, 220]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.865521999Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"":"downstairs","":"downstairs","session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"[0]R generation[0..12]: [132, 128, 129, 131, 130, 133, 133, 128, 132, 132, 131, 130]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.865533407Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"":"downstairs","":"downstairs","session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.865544636Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"":"downstairs","":"downstairs","session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"[1]R flush_numbers[0..12]: [223, 215, 218, 222, 219, 224, 224, 217, 223, 223, 222, 220]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.865555285Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"":"downstairs","":"downstairs","session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"[1]R generation[0..12]: [132, 128, 129, 131, 130, 133, 133, 128, 132, 132, 131, 130]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.865565953Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"":"downstairs","":"downstairs","session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.865576982Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"":"downstairs","":"downstairs","session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"[2]R flush_numbers[0..12]: [223, 215, 218, 222, 219, 224, 224, 217, 223, 223, 222, 220]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.865587681Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"":"downstairs","":"downstairs","session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"[2]R generation[0..12]: [132, 128, 129, 131, 130, 133, 133, 128, 132, 132, 131, 130]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.865598229Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"":"downstairs","":"downstairs","session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.865609168Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"":"downstairs","":"downstairs","session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"Max found gen is 134","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.865618757Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"":"downstairs","":"downstairs","session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"Generation requested: 134 >= found:134","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.865628725Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"":"downstairs","":"downstairs","session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"Next flush: 225","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.865639644Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"":"downstairs","":"downstairs","session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.865649203Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"":"downstairs","":"downstairs","session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.865659081Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.86566803Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"client":"0","":"downstairs","session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.865678039Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"client":"1","":"downstairs","session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.865687848Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"client":"2","":"downstairs","session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.865697786Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.865707265Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"7ad1f839-dfa6-458b-a97d-eed48f8b1569 is now active with session: 92d21425-b45e-4cd1-9850-5f4e2b7a0bd7","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.865717374Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.865726403Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"session_id":"92d21425-b45e-4cd1-9850-5f4e2b7a0bd7"} {"msg":"The guest has finished waiting for activation with:134","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.865735672Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675} {"msg":"Activated sub_volume 7ad1f839-dfa6-458b-a97d-eed48f8b1569","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.865743821Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.865752069Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.866128751Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"task":"crutest"} 01/30 Write block 10 len 8192 data: 15 16 02/30 Read block 49 len 12288 03/30 Read block 545 len 40960 04/30 Write block 514 len 32768 data: 13 10 11 10 8 7 7 7 05/30 Read block 201 len 8192 06/30 Read block 30 len 12288 07/30 Read block 587 len 24576 08/30 Read block 170 len 40960 09/30 Read block 45 len 20480 10/30 Read block 509 len 36864 11/30 Write block 446 len 40960 data: 10 9 9 12 10 11 11 9 9 11 12/30 Read block 112 len 16384 13/30 Write block 146 len 36864 data: 14 13 10 11 12 9 7 7 9 14/30 Write block 501 len 8192 data: 10 11 15/30 Write block 50 len 8192 data: 8 6 16/30 Flush 17/30 Write block 503 len 20480 data: 11 12 10 8 11 18/30 Read block 155 len 40960 19/30 Write block 119 len 24576 data: 8 9 8 8 9 9 20/30 Read block 255 len 16384 21/30 Read block 128 len 36864 22/30 Read block 261 len 40960 23/30 Write block 546 len 8192 data: 11 13 24/30 Write block 349 len 32768 data: 13 11 10 7 8 11 12 12 25/30 Read block 382 len 4096 26/30 Read block 20 len 4096 27/30 Read block 361 len 4096 28/30 Read block 583 len 8192 29/30 Write block 182 len 32768 data: 13 11 9 9 11 9 11 13 30/30 Write block 99 len 32768 data: 9 8 8 10 10 9 9 10 ---------------------------------------------------------------- Crucible gen:134 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 2 Done Done Done false 1001 Acked Read 3 Done Done Sent false 1002 Acked Read 10 Done Done Sent false 1003 Acked Write 8 Done Done Sent false 1004 Acked Read 2 Done Done Sent false 1005 Acked Read 3 Done Done Sent false 1006 Acked Read 6 Done Done Sent false 1007 Acked Read 10 Done Done Sent false 1008 Acked Read 5 Done Done Sent false 1009 Acked Read 9 Done Done Sent false 1010 Acked Write 10 Done Done Sent false 1011 Acked Read 4 Done Done Sent false 1012 Acked Write 9 Done Done Sent false 1013 Acked Write 2 Done Done Sent false 1014 Acked Write 2 Done Done Sent false 1015 Acked Flush 0 Done Done Sent false 1016 Acked Write 5 Done Done Sent false 1017 Acked Read 10 Done Done Sent false 1018 Acked Write 6 Done Done Sent false 1019 Acked Read 4 Done Done Sent false 1020 Acked Read 9 Done Done Sent false 1021 Acked Read 10 Done Done Sent false 1022 Acked Write 2 Done Done Sent false 1023 Acked Write 8 Done Done Sent false 1024 Acked Read 1 Done Done Sent false 1025 Acked Read 1 Done Done Sent false 1026 Acked Read 1 Done Done Sent false 1027 Acked Read 2 Done Done Sent false 1028 Acked Write 8 Sent Sent Sent false 1029 Acked Write 8 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 2 2 29 33 Done 28 28 1 57 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1015)) Some(JobId(1015)) None Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:46:47.874631711Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:47.874911375Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1675,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 134 134 132 225 225 223 F F T <--- 1 020-039 128 128 128 215 215 215 F F F 2 040-059 134 134 129 225 225 218 F F F <--- 3 060-079 131 131 131 222 222 222 F F F 4 080-099 130 130 130 219 219 219 T T F <--- 5 100-119 133 133 133 224 224 224 T T F <--- 6 120-139 133 133 133 224 224 224 T T F <--- 7 140-159 134 134 128 225 225 217 F F F <--- 8 160-179 132 132 132 223 223 223 F F F 9 180-199 132 132 132 223 223 223 T T F <--- 10 200-219 131 131 131 222 222 222 F F F 11 220-239 130 130 130 220 220 220 F F F 12 240-259 127 127 127 213 213 213 F F F 13 260-279 128 128 128 214 214 214 F F F 14 280-299 130 130 130 221 221 221 F F F 15 300-319 132 132 132 223 223 223 F F F 16 320-339 130 130 130 221 221 221 F F F 17 340-359 131 131 131 222 222 222 T T F <--- 18 360-379 132 132 132 223 223 223 F F F 19 380-399 131 131 131 222 222 222 F F F 20 400-419 131 131 131 222 222 222 F F F 21 420-439 125 125 125 210 210 210 F F F 22 440-459 134 134 132 225 225 223 F F F <--- 23 460-479 133 133 133 224 224 224 F F F 24 480-499 128 128 128 215 215 215 F F F 25 500-519 134 134 132 225 225 223 T T F <--- 26 520-539 134 134 130 225 225 221 F F F <--- 27 540-559 130 130 130 221 221 221 T T F <--- 28 560-579 127 127 127 213 213 213 F F F 29 580-599 132 132 132 223 223 223 F F F Max gen: 134, Max flush: 225 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 67 Verifying data now No change after verify Loop: 67 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 134 134 134 225 225 225 F F F 1 020-039 128 128 128 215 215 215 F F F 2 040-059 134 134 134 225 225 225 F F F 3 060-079 131 131 131 222 222 222 F F F 4 080-099 135 135 135 226 226 226 F F F 5 100-119 135 135 135 226 226 226 F F F 6 120-139 135 135 135 226 226 226 F F F 7 140-159 134 134 134 225 225 225 F F F 8 160-179 132 132 132 223 223 223 F F F 9 180-199 135 135 135 226 226 226 F F F 10 200-219 131 131 131 222 222 222 F F F 11 220-239 130 130 130 220 220 220 F F F 12 240-259 127 127 127 213 213 213 F F F 13 260-279 128 128 128 214 214 214 F F F 14 280-299 130 130 130 221 221 221 F F F 15 300-319 132 132 132 223 223 223 F F F 16 320-339 130 130 130 221 221 221 F F F 17 340-359 135 135 135 226 226 226 F F F 18 360-379 132 132 132 223 223 223 F F F 19 380-399 131 131 131 222 222 222 F F F 20 400-419 131 131 131 222 222 222 F F F 21 420-439 125 125 125 210 210 210 F F F 22 440-459 134 134 134 225 225 225 F F F 23 460-479 133 133 133 224 224 224 F F F 24 480-499 128 128 128 215 215 215 F F F 25 500-519 135 135 135 226 226 226 F F F 26 520-539 134 134 134 225 225 225 F F F 27 540-559 135 135 135 226 226 226 F F F 28 560-579 127 127 127 213 213 213 F F F 29 580-599 132 132 132 223 223 223 F F F Max gen: 135, Max flush: 226 Begin loop 68 Downstairs to restart: 2 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.114094131Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.122199291Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.122507072Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.122536618Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.122545367Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.122557175Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683} {"msg":"Crucible c15dea27-df36-44e8-961d-95152403191e has session id: bb103db5-8f3a-4535-99b9-397e2ba4d8c4","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.122870185Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"Upstairs opts: Upstairs UUID: c15dea27-df36-44e8-961d-95152403191e, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.12291208Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"Crucible stats registered with UUID: c15dea27-df36-44e8-961d-95152403191e","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.122924728Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:46:52.122934237Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.123115464Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"":"io task","client":"1","":"downstairs","session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.12314333Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"":"io task","client":"0","":"downstairs","session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.123154439Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"":"io task","client":"2","":"downstairs","session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.123259695Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"task":"crutest"} {"msg":"The guest has requested activation with gen:136","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.123283912Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683} {"msg":"c15dea27-df36-44e8-961d-95152403191e active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.12329903Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.123308279Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"client":"0","":"downstairs","session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.123318078Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"client":"1","":"downstairs","session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.123327846Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"client":"2","":"downstairs","session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.123340725Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"":"io task","client":"2","":"downstairs","session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.123359822Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"":"io task","client":"1","":"downstairs","session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"ds_connection connected from Ok(127.0.0.1:41699)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.123552178Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"":"io task","client":"2","":"downstairs","session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.123604011Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"":"io task","client":"0","":"downstairs","session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"ds_connection connected from Ok(127.0.0.1:43464)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.123628848Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"":"io task","client":"1","":"downstairs","session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"ds_connection connected from Ok(127.0.0.1:45329)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.123640286Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"":"io task","client":"0","":"downstairs","session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.124059833Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"client":"1","":"downstairs","session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.124119155Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"client":"0","":"downstairs","session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.124163189Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"client":"2","":"downstairs","session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.12438869Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.124426785Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"[0]R flush_numbers[0..12]: [225, 215, 225, 222, 226, 226, 226, 225, 223, 226, 222, 220]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.124460081Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"":"downstairs","":"downstairs","session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"[0]R generation[0..12]: [134, 128, 134, 131, 135, 135, 135, 134, 132, 135, 131, 130]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.12447154Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"":"downstairs","":"downstairs","session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.124482668Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"":"downstairs","":"downstairs","session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"[1]R flush_numbers[0..12]: [225, 215, 225, 222, 226, 226, 226, 225, 223, 226, 222, 220]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.124493477Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"":"downstairs","":"downstairs","session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"[1]R generation[0..12]: [134, 128, 134, 131, 135, 135, 135, 134, 132, 135, 131, 130]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.124504166Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"":"downstairs","":"downstairs","session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.124515244Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"":"downstairs","":"downstairs","session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"[2]R flush_numbers[0..12]: [225, 215, 225, 222, 226, 226, 226, 225, 223, 226, 222, 220]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.124526123Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"":"downstairs","":"downstairs","session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"[2]R generation[0..12]: [134, 128, 134, 131, 135, 135, 135, 134, 132, 135, 131, 130]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.124536851Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"":"downstairs","":"downstairs","session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.12454954Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"":"downstairs","":"downstairs","session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"Max found gen is 136","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.124559179Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"":"downstairs","":"downstairs","session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"Generation requested: 136 >= found:136","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.124569207Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"":"downstairs","":"downstairs","session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"Next flush: 227","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.124578836Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"":"downstairs","":"downstairs","session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.124588325Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"":"downstairs","":"downstairs","session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.124598214Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.124607312Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"client":"0","":"downstairs","session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.1246221Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"client":"1","":"downstairs","session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.124632299Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"client":"2","":"downstairs","session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.124642358Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.124651737Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"c15dea27-df36-44e8-961d-95152403191e is now active with session: bb103db5-8f3a-4535-99b9-397e2ba4d8c4","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.124661975Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.124670844Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"session_id":"bb103db5-8f3a-4535-99b9-397e2ba4d8c4"} {"msg":"The guest has finished waiting for activation with:136","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.124680123Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683} {"msg":"Activated sub_volume c15dea27-df36-44e8-961d-95152403191e","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.124688262Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.124696661Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.125052605Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"task":"crutest"} 01/30 Write block 262 len 40960 data: 9 7 8 13 12 12 10 9 8 9 02/30 Write block 164 len 28672 data: 11 11 10 10 8 8 9 03/30 Read block 343 len 20480 04/30 Read block 373 len 40960 05/30 Write block 318 len 40960 data: 10 8 10 9 12 14 16 14 12 11 06/30 Write block 486 len 8192 data: 9 8 07/30 Write block 278 len 4096 data: 12 08/30 Write block 90 len 28672 data: 10 14 15 14 12 10 6 09/30 Write block 211 len 36864 data: 14 10 10 9 11 10 11 8 7 10/30 Read block 264 len 20480 11/30 Read block 182 len 40960 12/30 Read block 194 len 28672 13/30 Read block 193 len 24576 14/30 Read block 342 len 4096 15/30 Write block 287 len 28672 data: 15 15 13 11 13 15 18 16/30 Write block 84 len 32768 data: 10 10 10 10 12 10 11 15 17/30 Read block 494 len 24576 18/30 Write block 556 len 32768 data: 14 15 15 14 13 10 10 10 19/30 Flush 20/30 Write block 551 len 12288 data: 8 8 12 21/30 Write block 569 len 28672 data: 12 12 10 14 14 13 12 22/30 Read block 372 len 28672 23/30 Write block 191 len 16384 data: 10 11 11 9 24/30 Write block 100 len 40960 data: 9 9 11 11 10 10 11 10 10 7 25/30 Flush 26/30 Write block 335 len 24576 data: 10 10 12 14 16 13 27/30 Write block 202 len 40960 data: 8 10 7 9 11 12 14 13 14 15 28/30 Write block 334 len 8192 data: 9 11 29/30 Read block 338 len 24576 30/30 Read block 91 len 16384 ---------------------------------------------------------------- Crucible gen:136 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 10 Done Done Done false 1001 Acked Write 7 Done Done Sent false 1002 Acked Read 5 Done Done Sent false 1003 Acked Read 10 Done Done Sent false 1004 Acked Write 10 Done Done Sent false 1005 Acked Write 2 Done Done Sent false 1006 Acked Write 1 Done Done Sent false 1007 Acked Write 7 Done Done Sent false 1008 Acked Write 9 Done Done Sent false 1009 Acked Read 5 Done Done Sent false 1010 Acked Read 10 Done Done Sent false 1011 Acked Read 7 Done Done Sent false 1012 Acked Read 6 Done Done Sent false 1013 Acked Read 1 Done Done Sent false 1014 Acked Write 7 Done Done Sent false 1015 Acked Write 8 Done Done Sent false 1016 Acked Read 6 Done Done Sent false 1017 Acked Write 8 Done Done Sent false 1018 Acked Flush 0 Done Done Sent false 1019 Acked Write 3 Done Done Sent false 1020 Acked Write 7 Done Done Sent false 1021 Acked Read 7 Done Done Sent false 1022 Acked Write 4 Done Done Sent false 1023 Acked Write 10 Done Done Sent false 1024 Acked Flush 0 Done Done Sent false 1025 Acked Write 6 Done Done Sent false 1026 Acked Write 10 Done Done Sent false 1027 Acked Write 2 Done Done Sent false 1028 Acked Read 6 Done Done Sent false 1029 Acked Read 4 Done Done Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 0 0 29 29 Done 30 30 1 61 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1024)) Some(JobId(1024)) None Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:46:52.133101703Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:52.133384047Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1683,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 134 134 134 225 225 225 F F F 1 020-039 128 128 128 215 215 215 F F F 2 040-059 134 134 134 225 225 225 F F F 3 060-079 131 131 131 222 222 222 F F F 4 080-099 136 136 135 227 227 226 F F F <--- 5 100-119 136 136 135 228 228 226 F F F <--- 6 120-139 135 135 135 226 226 226 F F F 7 140-159 134 134 134 225 225 225 F F F 8 160-179 136 136 132 227 227 223 F F F <--- 9 180-199 136 136 135 228 228 226 F F F <--- 10 200-219 136 136 131 227 227 222 T T F <--- 11 220-239 130 130 130 220 220 220 F F F 12 240-259 127 127 127 213 213 213 F F F 13 260-279 136 136 128 227 227 214 F F T <--- 14 280-299 136 136 130 227 227 221 F F F <--- 15 300-319 136 136 132 227 227 223 F F F <--- 16 320-339 136 136 130 227 227 221 T T F <--- 17 340-359 135 135 135 226 226 226 T T F <--- 18 360-379 132 132 132 223 223 223 F F F 19 380-399 131 131 131 222 222 222 F F F 20 400-419 131 131 131 222 222 222 F F F 21 420-439 125 125 125 210 210 210 F F F 22 440-459 134 134 134 225 225 225 F F F 23 460-479 133 133 133 224 224 224 F F F 24 480-499 136 136 128 227 227 215 F F F <--- 25 500-519 135 135 135 226 226 226 F F F 26 520-539 134 134 134 225 225 225 F F F 27 540-559 136 136 135 228 228 226 F F F <--- 28 560-579 136 136 127 228 228 213 F F F <--- 29 580-599 132 132 132 223 223 223 F F F Max gen: 136, Max flush: 228 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 68 Verifying data now No change after verify Loop: 68 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 134 134 134 225 225 225 F F F 1 020-039 128 128 128 215 215 215 F F F 2 040-059 134 134 134 225 225 225 F F F 3 060-079 131 131 131 222 222 222 F F F 4 080-099 136 136 136 227 227 227 F F F 5 100-119 136 136 136 228 228 228 F F F 6 120-139 135 135 135 226 226 226 F F F 7 140-159 134 134 134 225 225 225 F F F 8 160-179 136 136 136 227 227 227 F F F 9 180-199 136 136 136 228 228 228 F F F 10 200-219 137 137 137 229 229 229 F F F 11 220-239 130 130 130 220 220 220 F F F 12 240-259 127 127 127 213 213 213 F F F 13 260-279 136 136 136 227 227 227 F F F 14 280-299 136 136 136 227 227 227 F F F 15 300-319 136 136 136 227 227 227 F F F 16 320-339 137 137 137 229 229 229 F F F 17 340-359 137 137 137 229 229 229 F F F 18 360-379 132 132 132 223 223 223 F F F 19 380-399 131 131 131 222 222 222 F F F 20 400-419 131 131 131 222 222 222 F F F 21 420-439 125 125 125 210 210 210 F F F 22 440-459 134 134 134 225 225 225 F F F 23 460-479 133 133 133 224 224 224 F F F 24 480-499 136 136 136 227 227 227 F F F 25 500-519 135 135 135 226 226 226 F F F 26 520-539 134 134 134 225 225 225 F F F 27 540-559 136 136 136 228 228 228 F F F 28 560-579 136 136 136 228 228 228 F F F 29 580-599 132 132 132 223 223 223 F F F Max gen: 137, Max flush: 229 Begin loop 69 Downstairs to restart: 2 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.374316817Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.382410929Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.382744747Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.382778122Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.382786931Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.38279859Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691} {"msg":"Crucible 18057852-b150-48f4-96df-8945bd67aa84 has session id: e889ab12-9f4b-4df2-a343-21048ea3a4dd","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.383180201Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"Upstairs opts: Upstairs UUID: 18057852-b150-48f4-96df-8945bd67aa84, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.383210447Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"Crucible stats registered with UUID: 18057852-b150-48f4-96df-8945bd67aa84","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.383221266Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:46:56.383230874Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.383395303Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"":"io task","client":"2","":"downstairs","session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.383411101Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"":"io task","client":"1","":"downstairs","session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.38342132Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"":"io task","client":"0","":"downstairs","session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.383557132Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"task":"crutest"} {"msg":"The guest has requested activation with gen:138","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.38357439Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691} {"msg":"18057852-b150-48f4-96df-8945bd67aa84 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.383597837Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.383607336Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"client":"0","":"downstairs","session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.383617415Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"client":"1","":"downstairs","session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.383627313Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"client":"2","":"downstairs","session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.383637102Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"":"io task","client":"2","":"downstairs","session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.383647441Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"":"io task","client":"0","":"downstairs","session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.383659589Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"":"io task","client":"1","":"downstairs","session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"ds_connection connected from Ok(127.0.0.1:59579)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.383717012Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"":"io task","client":"1","":"downstairs","session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"ds_connection connected from Ok(127.0.0.1:33543)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.383747918Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"":"io task","client":"0","":"downstairs","session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"ds_connection connected from Ok(127.0.0.1:56363)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.383866213Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"":"io task","client":"2","":"downstairs","session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.384405244Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"client":"0","":"downstairs","session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.384427091Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"client":"1","":"downstairs","session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.384438309Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"client":"2","":"downstairs","session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.384723783Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.384733552Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"[0]R flush_numbers[0..12]: [225, 215, 225, 222, 227, 228, 226, 225, 227, 228, 229, 220]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.384768877Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"":"downstairs","":"downstairs","session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"[0]R generation[0..12]: [134, 128, 134, 131, 136, 136, 135, 134, 136, 136, 137, 130]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.384780376Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"":"downstairs","":"downstairs","session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.384791684Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"":"downstairs","":"downstairs","session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"[1]R flush_numbers[0..12]: [225, 215, 225, 222, 227, 228, 226, 225, 227, 228, 229, 220]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.384802703Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"":"downstairs","":"downstairs","session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"[1]R generation[0..12]: [134, 128, 134, 131, 136, 136, 135, 134, 136, 136, 137, 130]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.384813511Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"":"downstairs","":"downstairs","session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.38482721Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"":"downstairs","":"downstairs","session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"[2]R flush_numbers[0..12]: [225, 215, 225, 222, 227, 228, 226, 225, 227, 228, 229, 220]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.384838208Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"":"downstairs","":"downstairs","session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"[2]R generation[0..12]: [134, 128, 134, 131, 136, 136, 135, 134, 136, 136, 137, 130]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.384848897Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"":"downstairs","":"downstairs","session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.384859885Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"":"downstairs","":"downstairs","session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"Max found gen is 138","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.384869404Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"":"downstairs","":"downstairs","session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"Generation requested: 138 >= found:138","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.384879343Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"":"downstairs","":"downstairs","session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"Next flush: 230","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.384888972Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"":"downstairs","":"downstairs","session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.38489842Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"":"downstairs","":"downstairs","session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.384908369Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.384917288Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"client":"0","":"downstairs","session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.384927127Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"client":"1","":"downstairs","session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.384936966Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"client":"2","":"downstairs","session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.384946864Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.384956263Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"18057852-b150-48f4-96df-8945bd67aa84 is now active with session: e889ab12-9f4b-4df2-a343-21048ea3a4dd","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.384966432Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.384975481Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"session_id":"e889ab12-9f4b-4df2-a343-21048ea3a4dd"} {"msg":"The guest has finished waiting for activation with:138","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.384985949Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691} {"msg":"Activated sub_volume 18057852-b150-48f4-96df-8945bd67aa84","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.384994058Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.385002257Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.385319846Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"task":"crutest"} 01/30 Flush 02/30 Write block 18 len 28672 data: 8 10 11 10 10 10 9 03/30 Write block 325 len 32768 data: 15 13 12 11 12 11 9 9 04/30 Read block 592 len 4096 05/30 Write block 313 len 12288 data: 12 7 5 06/30 Write block 565 len 20480 data: 10 10 10 11 13 07/30 Flush 08/30 Write block 282 len 12288 data: 13 13 14 09/30 Write block 220 len 20480 data: 8 11 13 14 16 10/30 Read block 222 len 32768 11/30 Write block 570 len 28672 data: 13 11 15 15 14 13 17 12/30 Read block 441 len 36864 13/30 Read block 420 len 36864 14/30 Write block 6 len 36864 data: 9 11 16 17 16 17 13 10 9 15/30 Write block 245 len 40960 data: 12 12 9 9 11 11 10 10 10 9 16/30 Read block 78 len 24576 17/30 Read block 467 len 16384 18/30 Read block 337 len 24576 19/30 Write block 213 len 28672 data: 11 10 12 11 12 9 8 20/30 Read block 269 len 28672 21/30 Read block 64 len 32768 22/30 Flush 23/30 Write block 45 len 28672 data: 7 8 8 9 8 9 7 24/30 Write block 587 len 36864 data: 12 14 13 10 10 7 9 8 6 25/30 Write block 372 len 24576 data: 17 15 17 14 11 11 26/30 Write block 115 len 32768 data: 8 7 7 6 9 10 9 9 27/30 Write block 147 len 12288 data: 14 11 12 28/30 Write block 55 len 32768 data: 7 11 12 14 14 13 13 13 29/30 Read block 449 len 24576 30/30 Write block 285 len 36864 data: 14 14 16 16 14 12 14 16 19 ---------------------------------------------------------------- Crucible gen:138 GIO:true work queues: Upstairs:0 downstairs:29 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1001 Acked Write 7 Done Done Sent false 1002 Acked Write 8 Done Done Sent false 1003 Acked Read 1 Done Done Sent false 1004 Acked Write 3 Done Done Sent false 1005 Acked Write 5 Done Done Sent false 1006 Acked Flush 0 Done Done Sent false 1007 Acked Write 3 Done Done Sent false 1008 Acked Write 5 Done Done Sent false 1009 Acked Read 8 Done Done Sent false 1010 Acked Write 7 Done Done Sent false 1011 Acked Read 9 Done Done Sent false 1012 Acked Read 9 Done Done Sent false 1013 Acked Write 9 Done Done Sent false 1014 Acked Write 10 Done Done Sent false 1015 Acked Read 6 Done Done Sent false 1016 Acked Read 4 Done Done Sent false 1017 Acked Read 6 Done Done Sent false 1018 Acked Write 7 Done Done Sent false 1019 Acked Read 7 Done Done Sent false 1020 Acked Read 8 Done Done Sent false 1021 Acked Flush 0 Done Done Sent false 1022 Acked Write 7 Done Done Sent false 1023 Acked Write 9 Done Done Sent false 1024 Acked Write 6 Done Done Sent false 1025 Acked Write 8 Done Done Sent false 1026 Acked Write 3 Done Done Sent false 1027 Acked Write 8 Done Done Sent false 1028 Acked Read 6 Done Done Sent false 1029 Acked Write 9 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 1 1 29 31 Done 28 28 0 56 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1021)) Some(JobId(1021)) Some(JobId(1000)) Downstairs last five completed: 1000 Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:46:56.393241111Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:46:56.393525764Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1691,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 138 138 134 232 232 225 F F F <--- 1 020-039 138 138 128 231 231 215 F F F <--- 2 040-059 134 134 134 225 225 225 T T F <--- 3 060-079 131 131 131 222 222 222 T T F <--- 4 080-099 136 136 136 227 227 227 F F F 5 100-119 136 136 136 228 228 228 T T F <--- 6 120-139 135 135 135 226 226 226 T T F <--- 7 140-159 134 134 134 225 225 225 T T F <--- 8 160-179 136 136 136 227 227 227 F F F 9 180-199 136 136 136 228 228 228 F F F 10 200-219 138 138 137 232 232 229 F F F <--- 11 220-239 138 138 130 232 232 220 F F F <--- 12 240-259 138 138 127 232 232 213 F F F <--- 13 260-279 136 136 136 227 227 227 F F F 14 280-299 138 138 136 232 232 227 T T F <--- 15 300-319 138 138 136 231 231 227 F F F <--- 16 320-339 138 138 137 231 231 229 F F F <--- 17 340-359 137 137 137 229 229 229 F F F 18 360-379 132 132 132 223 223 223 T T F <--- 19 380-399 131 131 131 222 222 222 F F F 20 400-419 131 131 131 222 222 222 F F F 21 420-439 125 125 125 210 210 210 F F F 22 440-459 134 134 134 225 225 225 F F F 23 460-479 133 133 133 224 224 224 F F F 24 480-499 136 136 136 227 227 227 F F F 25 500-519 135 135 135 226 226 226 F F F 26 520-539 134 134 134 225 225 225 F F F 27 540-559 136 136 136 228 228 228 F F F 28 560-579 138 138 136 232 232 228 F F F <--- 29 580-599 132 132 132 223 223 223 T T F <--- Max gen: 138, Max flush: 232 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 69 Verifying data now No change after verify Loop: 69 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 138 138 138 232 232 232 F F F 1 020-039 138 138 138 231 231 231 F F F 2 040-059 139 139 139 233 233 233 F F F 3 060-079 139 139 139 233 233 233 F F F 4 080-099 136 136 136 227 227 227 F F F 5 100-119 139 139 139 233 233 233 F F F 6 120-139 139 139 139 233 233 233 F F F 7 140-159 139 139 139 233 233 233 F F F 8 160-179 136 136 136 227 227 227 F F F 9 180-199 136 136 136 228 228 228 F F F 10 200-219 138 138 138 232 232 232 F F F 11 220-239 138 138 138 232 232 232 F F F 12 240-259 138 138 138 232 232 232 F F F 13 260-279 136 136 136 227 227 227 F F F 14 280-299 139 139 139 233 233 233 F F F 15 300-319 138 138 138 231 231 231 F F F 16 320-339 138 138 138 231 231 231 F F F 17 340-359 137 137 137 229 229 229 F F F 18 360-379 139 139 139 233 233 233 F F F 19 380-399 131 131 131 222 222 222 F F F 20 400-419 131 131 131 222 222 222 F F F 21 420-439 125 125 125 210 210 210 F F F 22 440-459 134 134 134 225 225 225 F F F 23 460-479 133 133 133 224 224 224 F F F 24 480-499 136 136 136 227 227 227 F F F 25 500-519 135 135 135 226 226 226 F F F 26 520-539 134 134 134 225 225 225 F F F 27 540-559 136 136 136 228 228 228 F F F 28 560-579 138 138 138 232 232 232 F F F 29 580-599 139 139 139 233 233 233 F F F Max gen: 139, Max flush: 233 Begin loop 70 Downstairs to restart: 2 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.641007473Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.649266474Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.649586423Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.649617549Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.649628878Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.649640566Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699} {"msg":"Crucible 1a0afd3a-b229-4598-81e8-871538511d0a has session id: f6692387-847a-4352-a9f3-c4f0c25158b0","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.649992551Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"Upstairs opts: Upstairs UUID: 1a0afd3a-b229-4598-81e8-871538511d0a, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.650017648Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"Crucible stats registered with UUID: 1a0afd3a-b229-4598-81e8-871538511d0a","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.650028127Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:47:00.650040035Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.650209133Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"":"io task","client":"2","":"downstairs","session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.650224911Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"":"io task","client":"1","":"downstairs","session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.65023502Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"":"io task","client":"0","":"downstairs","session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.650368983Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"task":"crutest"} {"msg":"The guest has requested activation with gen:140","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.65039295Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699} {"msg":"1a0afd3a-b229-4598-81e8-871538511d0a active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.650410748Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.650419916Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"client":"0","":"downstairs","session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.650429925Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"client":"1","":"downstairs","session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.650441564Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"client":"2","":"downstairs","session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.650452222Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"":"io task","client":"2","":"downstairs","session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.650462841Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"":"io task","client":"1","":"downstairs","session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.650512595Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"":"io task","client":"0","":"downstairs","session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"ds_connection connected from Ok(127.0.0.1:56368)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.650523893Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"":"io task","client":"2","":"downstairs","session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"ds_connection connected from Ok(127.0.0.1:63554)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.650563318Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"":"io task","client":"1","":"downstairs","session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"ds_connection connected from Ok(127.0.0.1:61024)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.650578606Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"":"io task","client":"0","":"downstairs","session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.651207295Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"client":"1","":"downstairs","session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.651230133Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"client":"2","":"downstairs","session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.651241521Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"client":"0","":"downstairs","session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.651532044Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.651570179Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"[0]R flush_numbers[0..12]: [232, 231, 233, 233, 227, 233, 233, 233, 227, 228, 232, 232]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.651646949Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"":"downstairs","":"downstairs","session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"[0]R generation[0..12]: [138, 138, 139, 139, 136, 139, 139, 139, 136, 136, 138, 138]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.651658398Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"":"downstairs","":"downstairs","session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.651669856Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"":"downstairs","":"downstairs","session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"[1]R flush_numbers[0..12]: [232, 231, 233, 233, 227, 233, 233, 233, 227, 228, 232, 232]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.651683114Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"":"downstairs","":"downstairs","session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"[1]R generation[0..12]: [138, 138, 139, 139, 136, 139, 139, 139, 136, 136, 138, 138]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.651693903Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"":"downstairs","":"downstairs","session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.651705022Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"":"downstairs","":"downstairs","session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"[2]R flush_numbers[0..12]: [232, 231, 233, 233, 227, 233, 233, 233, 227, 228, 232, 232]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.65171567Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"":"downstairs","":"downstairs","session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"[2]R generation[0..12]: [138, 138, 139, 139, 136, 139, 139, 139, 136, 136, 138, 138]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.651726449Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"":"downstairs","":"downstairs","session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.651737587Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"":"downstairs","":"downstairs","session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"Max found gen is 140","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.651747276Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"":"downstairs","":"downstairs","session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"Generation requested: 140 >= found:140","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.651757275Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"":"downstairs","":"downstairs","session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"Next flush: 234","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.651766844Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"":"downstairs","":"downstairs","session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.651776382Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"":"downstairs","":"downstairs","session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.651786261Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.65179526Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"client":"0","":"downstairs","session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.651805119Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"client":"1","":"downstairs","session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.651815427Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"client":"2","":"downstairs","session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.651826816Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.651836115Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"1a0afd3a-b229-4598-81e8-871538511d0a is now active with session: f6692387-847a-4352-a9f3-c4f0c25158b0","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.651846144Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.651855012Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"session_id":"f6692387-847a-4352-a9f3-c4f0c25158b0"} {"msg":"The guest has finished waiting for activation with:140","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.651864271Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699} {"msg":"Activated sub_volume 1a0afd3a-b229-4598-81e8-871538511d0a","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.65187254Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.651880909Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.652225785Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"task":"crutest"} 01/30 Write block 493 len 8192 data: 8 8 02/30 Read block 174 len 32768 03/30 Read block 56 len 36864 04/30 Read block 273 len 24576 05/30 Write block 432 len 36864 data: 11 10 10 8 9 10 9 9 10 06/30 Read block 387 len 16384 07/30 Write block 560 len 4096 data: 14 08/30 Write block 597 len 8192 data: 6 3 09/30 Read block 185 len 4096 10/30 Write block 374 len 12288 data: 18 15 12 11/30 Write block 587 len 12288 data: 13 15 14 12/30 Write block 420 len 24576 data: 12 14 11 16 15 10 13/30 Read block 248 len 8192 14/30 Write block 204 len 20480 data: 8 10 12 13 15 15/30 Read block 291 len 4096 16/30 Write block 511 len 24576 data: 14 13 11 14 11 12 17/30 Write block 213 len 24576 data: 12 11 13 12 13 10 18/30 Read block 299 len 32768 19/30 Write block 517 len 16384 data: 11 9 8 8 20/30 Write block 104 len 8192 data: 11 11 21/30 Flush 22/30 Write block 301 len 28672 data: 14 13 10 10 12 13 13 23/30 Flush 24/30 Write block 267 len 40960 data: 13 11 10 9 10 9 10 9 10 11 25/30 Write block 486 len 24576 data: 10 9 8 9 10 7 26/30 Read block 547 len 24576 27/30 Write block 438 len 4096 data: 10 28/30 Read block 63 len 24576 29/30 Read block 135 len 12288 30/30 Read block 208 len 8192 ---------------------------------------------------------------- Crucible gen:140 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 2 Done Done Done false 1001 Acked Read 8 Done Done Done false 1002 Acked Read 9 Done Done Done false 1003 Acked Read 6 Done Done Done false 1004 Acked Write 9 Done Done Done false 1005 Acked Read 4 Done Done Done false 1006 Acked Write 1 Done Done Done false 1007 Acked Write 2 Done Done Done false 1008 Acked Read 1 Done Done Sent false 1009 Acked Write 3 Done Done Sent false 1010 Acked Write 3 Done Done Sent false 1011 Acked Write 6 Done Done Sent false 1012 Acked Read 2 Done Done Sent false 1013 Acked Write 5 Done Done Sent false 1014 Acked Read 1 Done Done Sent false 1015 Acked Write 6 Done Done Sent false 1016 Acked Write 6 Done Done Sent false 1017 Acked Read 8 Done Done Sent false 1018 Acked Write 4 Done Done Sent false 1019 Acked Write 2 Done Done Sent false 1020 Acked Flush 0 Done Done Sent false 1021 Acked Write 7 Done Done Sent false 1022 Acked Flush 0 Done Done Sent false 1023 Acked Write 10 Done Done Sent false 1024 Acked Write 6 Done Done Sent false 1025 Acked Read 6 Done Done Sent false 1026 Acked Write 1 Done Done Sent false 1027 Acked Read 6 Done Done Sent false 1028 Acked Read 3 Done Done Sent false 1029 Acked Read 2 Done Done Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 0 0 22 22 Done 30 30 8 68 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1022)) Some(JobId(1022)) None Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:47:00.659481064Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:00.65975253Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1699,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 138 138 138 232 232 232 F F F 1 020-039 138 138 138 231 231 231 F F F 2 040-059 139 139 139 233 233 233 F F F 3 060-079 139 139 139 233 233 233 F F F 4 080-099 136 136 136 227 227 227 F F F 5 100-119 140 140 139 234 234 233 F F F <--- 6 120-139 139 139 139 233 233 233 F F F 7 140-159 139 139 139 233 233 233 F F F 8 160-179 136 136 136 227 227 227 F F F 9 180-199 136 136 136 228 228 228 F F F 10 200-219 140 140 138 234 234 232 F F F <--- 11 220-239 138 138 138 232 232 232 F F F 12 240-259 138 138 138 232 232 232 F F F 13 260-279 136 136 136 227 227 227 T T F <--- 14 280-299 139 139 139 233 233 233 F F F 15 300-319 140 140 138 235 235 231 F F F <--- 16 320-339 138 138 138 231 231 231 F F F 17 340-359 137 137 137 229 229 229 F F F 18 360-379 140 140 139 234 234 233 F F F <--- 19 380-399 131 131 131 222 222 222 F F F 20 400-419 131 131 131 222 222 222 F F F 21 420-439 140 140 125 234 234 210 T T T <--- 22 440-459 140 140 134 234 234 225 F F T <--- 23 460-479 133 133 133 224 224 224 F F F 24 480-499 140 140 136 234 234 227 T T T <--- 25 500-519 140 140 135 234 234 226 F F F <--- 26 520-539 140 140 134 234 234 225 F F F <--- 27 540-559 136 136 136 228 228 228 F F F 28 560-579 140 140 138 234 234 232 F F T <--- 29 580-599 140 140 139 234 234 233 F F T <--- Max gen: 140, Max flush: 235 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 70 Verifying data now No change after verify Loop: 70 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 138 138 138 232 232 232 F F F 1 020-039 138 138 138 231 231 231 F F F 2 040-059 139 139 139 233 233 233 F F F 3 060-079 139 139 139 233 233 233 F F F 4 080-099 136 136 136 227 227 227 F F F 5 100-119 140 140 140 234 234 234 F F F 6 120-139 139 139 139 233 233 233 F F F 7 140-159 139 139 139 233 233 233 F F F 8 160-179 136 136 136 227 227 227 F F F 9 180-199 136 136 136 228 228 228 F F F 10 200-219 140 140 140 234 234 234 F F F 11 220-239 138 138 138 232 232 232 F F F 12 240-259 138 138 138 232 232 232 F F F 13 260-279 141 141 141 236 236 236 F F F 14 280-299 139 139 139 233 233 233 F F F 15 300-319 140 140 140 235 235 235 F F F 16 320-339 138 138 138 231 231 231 F F F 17 340-359 137 137 137 229 229 229 F F F 18 360-379 140 140 140 234 234 234 F F F 19 380-399 131 131 131 222 222 222 F F F 20 400-419 131 131 131 222 222 222 F F F 21 420-439 141 141 141 236 236 236 F F F 22 440-459 140 140 140 234 234 234 F F F 23 460-479 133 133 133 224 224 224 F F F 24 480-499 141 141 141 236 236 236 F F F 25 500-519 140 140 140 234 234 234 F F F 26 520-539 140 140 140 234 234 234 F F F 27 540-559 136 136 136 228 228 228 F F F 28 560-579 140 140 140 234 234 234 F F F 29 580-599 140 140 140 234 234 234 F F F Max gen: 141, Max flush: 236 Begin loop 71 Downstairs to restart: 0 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.897395572Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"task":"crutest"} {"msg":"Failed to get info from \"http://127.0.0.1:12810\" Communication Error: error sending request for url (http://127.0.0.1:12810/region-info)","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:47:04.904717073Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"task":"crutest"} {"msg":"look at: http://127.0.0.1:12820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.904804441Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008820, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.91191545Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.912210032Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.912237638Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.912246307Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.912257966Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707} {"msg":"Crucible 4e7e9121-c070-443e-8b76-2ab4e51b760b has session id: 3cc0c766-8afd-49cb-a704-6a66a2fbfcf7","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.912564716Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"Upstairs opts: Upstairs UUID: 4e7e9121-c070-443e-8b76-2ab4e51b760b, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.912594122Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"Crucible stats registered with UUID: 4e7e9121-c070-443e-8b76-2ab4e51b760b","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.912605121Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:47:04.91261461Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.91277022Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"":"io task","client":"1","":"downstairs","session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.912787668Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"":"io task","client":"0","":"downstairs","session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.912799816Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"":"io task","client":"2","":"downstairs","session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.912931439Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"task":"crutest"} {"msg":"The guest has requested activation with gen:142","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.912963455Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707} {"msg":"4e7e9121-c070-443e-8b76-2ab4e51b760b active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.912972304Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.912981493Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"client":"0","":"downstairs","session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.912991442Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"client":"1","":"downstairs","session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.91300147Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"client":"2","":"downstairs","session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.913014199Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"":"io task","client":"2","":"downstairs","session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.913024417Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"":"io task","client":"1","":"downstairs","session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.913074621Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"":"io task","client":"0","":"downstairs","session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"ds_connection connected from Ok(127.0.0.1:39831)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.913124694Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"":"io task","client":"1","":"downstairs","session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"ds_connection connected from Ok(127.0.0.1:47846)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.913136413Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"":"io task","client":"2","":"downstairs","session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"ds_connection connected from Ok(127.0.0.1:61670)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.913147352Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"":"io task","client":"0","":"downstairs","session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.913824075Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"client":"2","":"downstairs","session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.913847012Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"client":"1","":"downstairs","session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.91385837Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"client":"0","":"downstairs","session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.914154552Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.914192468Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"[0]R flush_numbers[0..12]: [232, 231, 233, 233, 227, 234, 233, 233, 227, 228, 234, 232]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.914243371Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"":"downstairs","":"downstairs","session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"[0]R generation[0..12]: [138, 138, 139, 139, 136, 140, 139, 139, 136, 136, 140, 138]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.9142546Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"":"downstairs","":"downstairs","session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.914266128Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"":"downstairs","":"downstairs","session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"[1]R flush_numbers[0..12]: [232, 231, 233, 233, 227, 234, 233, 233, 227, 228, 234, 232]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.914276847Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"":"downstairs","":"downstairs","session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"[1]R generation[0..12]: [138, 138, 139, 139, 136, 140, 139, 139, 136, 136, 140, 138]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.914287445Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"":"downstairs","":"downstairs","session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.914298424Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"":"downstairs","":"downstairs","session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"[2]R flush_numbers[0..12]: [232, 231, 233, 233, 227, 234, 233, 233, 227, 228, 234, 232]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.914309093Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"":"downstairs","":"downstairs","session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"[2]R generation[0..12]: [138, 138, 139, 139, 136, 140, 139, 139, 136, 136, 140, 138]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.914319661Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"":"downstairs","":"downstairs","session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.91433069Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"":"downstairs","":"downstairs","session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"Max found gen is 142","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.914340329Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"":"downstairs","":"downstairs","session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"Generation requested: 142 >= found:142","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.914350557Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"":"downstairs","":"downstairs","session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"Next flush: 237","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.914360046Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"":"downstairs","":"downstairs","session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.914370985Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"":"downstairs","":"downstairs","session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.914381083Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.914390132Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"client":"0","":"downstairs","session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.914400211Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"client":"1","":"downstairs","session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.91441034Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"client":"2","":"downstairs","session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.914420568Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.914429787Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"4e7e9121-c070-443e-8b76-2ab4e51b760b is now active with session: 3cc0c766-8afd-49cb-a704-6a66a2fbfcf7","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.914439796Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.914448735Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"session_id":"3cc0c766-8afd-49cb-a704-6a66a2fbfcf7"} {"msg":"The guest has finished waiting for activation with:142","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.914457973Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707} {"msg":"Activated sub_volume 4e7e9121-c070-443e-8b76-2ab4e51b760b","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.914466112Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.914474411Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.914805399Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"task":"crutest"} 01/30 Write block 214 len 24576 data: 12 14 13 14 11 9 02/30 Write block 125 len 12288 data: 9 6 6 03/30 Write block 540 len 20480 data: 8 10 13 12 13 04/30 Write block 497 len 36864 data: 9 9 10 9 11 12 12 13 11 05/30 Write block 87 len 20480 data: 11 13 11 12 16 06/30 Read block 42 len 40960 07/30 Read block 312 len 20480 08/30 Flush 09/30 Write block 404 len 12288 data: 16 12 13 10/30 Read block 180 len 36864 11/30 Write block 394 len 36864 data: 11 13 12 13 15 16 16 15 17 12/30 Read block 40 len 16384 13/30 Read block 74 len 28672 14/30 Read block 570 len 36864 15/30 Read block 381 len 40960 16/30 Read block 554 len 36864 17/30 Write block 78 len 16384 data: 5 5 3 6 18/30 Write block 594 len 8192 data: 9 7 19/30 Read block 291 len 12288 20/30 Write block 62 len 40960 data: 14 13 11 12 11 7 10 11 13 13 21/30 Write block 538 len 32768 data: 8 7 9 11 14 13 14 12 22/30 Flush 23/30 Write block 14 len 40960 data: 10 7 5 5 9 11 12 11 11 11 24/30 Read block 326 len 32768 25/30 Read block 477 len 24576 26/30 Read block 179 len 40960 27/30 Read block 529 len 8192 28/30 Read block 157 len 8192 29/30 Write block 277 len 12288 data: 13 13 13 30/30 Read block 246 len 40960 ---------------------------------------------------------------- Crucible gen:142 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 6 Done Done Done false 1001 Acked Write 3 Done Done Done false 1002 Acked Write 5 Done Done Done false 1003 Acked Write 9 Done Done Done false 1004 Acked Write 5 Done Done Done false 1005 Acked Read 10 Done Done Done false 1006 Acked Read 5 Done Done Done false 1007 Acked Flush 0 Sent Done Done false 1008 Acked Write 3 Sent Done Done false 1009 Acked Read 9 Sent Done Done false 1010 Acked Write 9 Sent Done Done false 1011 Acked Read 4 Sent Done Done false 1012 Acked Read 7 Sent Done Done false 1013 Acked Read 9 Sent Done Done false 1014 Acked Read 10 Sent Done Done false 1015 Acked Read 9 Sent Done Done false 1016 Acked Write 4 Sent Done Done false 1017 Acked Write 2 Sent Done Done false 1018 Acked Read 3 Sent Done Done false 1019 Acked Write 10 Sent Done Done false 1020 Acked Write 8 Sent Done Done false 1021 Acked Flush 0 Sent Done Done false 1022 Acked Write 10 Sent Done Done false 1023 Acked Read 8 Sent Done Done false 1024 Acked Read 6 Sent Done Done false 1025 Acked Read 10 Sent Done Done false 1026 Acked Read 2 Sent Done Done false 1027 Acked Read 2 Sent Done Done false 1028 Acked Write 3 Sent Done Done false 1029 Acked Read 10 Sent Done Done false STATES DS:0 DS:1 DS:2 TOTAL Sent 23 0 0 23 Done 7 30 30 67 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: None Some(JobId(1021)) Some(JobId(1021)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:47:04.923396097Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:04.923692279Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1707,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 138 138 138 232 232 232 F T T <--- 1 020-039 138 138 138 231 231 231 F T T <--- 2 040-059 139 139 139 233 233 233 F F F 3 060-079 139 142 142 233 238 238 F F F <--- 4 080-099 136 142 142 227 238 238 T F F <--- 5 100-119 140 140 140 234 234 234 F F F 6 120-139 139 142 142 233 237 237 T F F <--- 7 140-159 139 139 139 233 233 233 F F F 8 160-179 136 136 136 227 227 227 F F F 9 180-199 136 136 136 228 228 228 F F F 10 200-219 140 142 142 234 237 237 T F F <--- 11 220-239 138 138 138 232 232 232 F F F 12 240-259 138 138 138 232 232 232 F F F 13 260-279 141 141 141 236 236 236 F T T <--- 14 280-299 139 139 139 233 233 233 F F F 15 300-319 140 140 140 235 235 235 F F F 16 320-339 138 138 138 231 231 231 F F F 17 340-359 137 137 137 229 229 229 F F F 18 360-379 140 140 140 234 234 234 F F F 19 380-399 131 142 142 222 238 238 F F F <--- 20 400-419 131 142 142 222 238 238 F F F <--- 21 420-439 141 141 141 236 236 236 F F F 22 440-459 140 140 140 234 234 234 F F F 23 460-479 133 133 133 224 224 224 F F F 24 480-499 141 142 142 236 237 237 T F F <--- 25 500-519 140 142 142 234 237 237 T F F <--- 26 520-539 140 142 142 234 238 238 F F F <--- 27 540-559 136 142 142 228 238 238 T F F <--- 28 560-579 140 140 140 234 234 234 F F F 29 580-599 140 142 142 234 238 238 F F F <--- Max gen: 142, Max flush: 238 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 71 Verifying data now No change after verify Loop: 71 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 143 143 143 239 239 239 F F F 1 020-039 143 143 143 239 239 239 F F F 2 040-059 139 139 139 233 233 233 F F F 3 060-079 142 142 142 238 238 238 F F F 4 080-099 142 142 142 238 238 238 F F F 5 100-119 140 140 140 234 234 234 F F F 6 120-139 142 142 142 237 237 237 F F F 7 140-159 139 139 139 233 233 233 F F F 8 160-179 136 136 136 227 227 227 F F F 9 180-199 136 136 136 228 228 228 F F F 10 200-219 142 142 142 237 237 237 F F F 11 220-239 138 138 138 232 232 232 F F F 12 240-259 138 138 138 232 232 232 F F F 13 260-279 143 143 143 239 239 239 F F F 14 280-299 139 139 139 233 233 233 F F F 15 300-319 140 140 140 235 235 235 F F F 16 320-339 138 138 138 231 231 231 F F F 17 340-359 137 137 137 229 229 229 F F F 18 360-379 140 140 140 234 234 234 F F F 19 380-399 142 142 142 238 238 238 F F F 20 400-419 142 142 142 238 238 238 F F F 21 420-439 141 141 141 236 236 236 F F F 22 440-459 140 140 140 234 234 234 F F F 23 460-479 133 133 133 224 224 224 F F F 24 480-499 142 142 142 237 237 237 F F F 25 500-519 142 142 142 237 237 237 F F F 26 520-539 142 142 142 238 238 238 F F F 27 540-559 142 142 142 238 238 238 F F F 28 560-579 140 140 140 234 234 234 F F F 29 580-599 142 142 142 238 238 238 F F F Max gen: 143, Max flush: 239 Begin loop 72 Downstairs to restart: 1 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.17576876Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.184247603Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.184568182Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.184597008Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.184605937Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.184617906Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715} {"msg":"Crucible 2218ecfa-6016-49d2-8afc-f1235889fddf has session id: 8fd013f7-5ee6-4851-88d9-fe1e951e87eb","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.184951443Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"Upstairs opts: Upstairs UUID: 2218ecfa-6016-49d2-8afc-f1235889fddf, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.184980879Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"Crucible stats registered with UUID: 2218ecfa-6016-49d2-8afc-f1235889fddf","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.184992088Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:47:09.185003436Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.185178504Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"":"io task","client":"0","":"downstairs","session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.185194592Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"":"io task","client":"1","":"downstairs","session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.18520491Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"":"io task","client":"2","":"downstairs","session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.185332084Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"task":"crutest"} {"msg":"The guest has requested activation with gen:144","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.18536393Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715} {"msg":"2218ecfa-6016-49d2-8afc-f1235889fddf active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.185373229Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.185382428Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"client":"0","":"downstairs","session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.185392266Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"client":"1","":"downstairs","session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.185402185Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"client":"2","":"downstairs","session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.185412764Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"":"io task","client":"2","":"downstairs","session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.185423852Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"":"io task","client":"1","":"downstairs","session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.185433911Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"":"io task","client":"0","":"downstairs","session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"ds_connection connected from Ok(127.0.0.1:60173)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.185504442Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"":"io task","client":"1","":"downstairs","session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"ds_connection connected from Ok(127.0.0.1:34535)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.185530599Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"":"io task","client":"2","":"downstairs","session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"ds_connection connected from Ok(127.0.0.1:41803)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.18559826Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"":"io task","client":"0","":"downstairs","session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.18621817Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"client":"0","":"downstairs","session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.186239918Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"client":"1","":"downstairs","session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.186315258Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"client":"2","":"downstairs","session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.186576505Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.186600891Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"[0]R flush_numbers[0..12]: [239, 239, 233, 238, 238, 234, 237, 233, 227, 228, 237, 232]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.18661169Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"":"downstairs","":"downstairs","session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"[0]R generation[0..12]: [143, 143, 139, 142, 142, 140, 142, 139, 136, 136, 142, 138]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.186623269Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"":"downstairs","":"downstairs","session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.186634627Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"":"downstairs","":"downstairs","session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"[1]R flush_numbers[0..12]: [239, 239, 233, 238, 238, 234, 237, 233, 227, 228, 237, 232]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.186645356Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"":"downstairs","":"downstairs","session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"[1]R generation[0..12]: [143, 143, 139, 142, 142, 140, 142, 139, 136, 136, 142, 138]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.186656094Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"":"downstairs","":"downstairs","session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.186667093Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"":"downstairs","":"downstairs","session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"[2]R flush_numbers[0..12]: [239, 239, 233, 238, 238, 234, 237, 233, 227, 228, 237, 232]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.186677812Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"":"downstairs","":"downstairs","session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"[2]R generation[0..12]: [143, 143, 139, 142, 142, 140, 142, 139, 136, 136, 142, 138]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.18668849Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"":"downstairs","":"downstairs","session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.186699619Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"":"downstairs","":"downstairs","session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"Max found gen is 144","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.186711747Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"":"downstairs","":"downstairs","session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"Generation requested: 144 >= found:144","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.186721756Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"":"downstairs","":"downstairs","session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"Next flush: 240","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.186731285Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"":"downstairs","":"downstairs","session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.186740803Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"":"downstairs","":"downstairs","session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.186750682Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.186759691Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"client":"0","":"downstairs","session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.18676972Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"client":"1","":"downstairs","session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.186779698Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"client":"2","":"downstairs","session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.186789777Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.186799196Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"2218ecfa-6016-49d2-8afc-f1235889fddf is now active with session: 8fd013f7-5ee6-4851-88d9-fe1e951e87eb","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.186809295Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.186818434Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"session_id":"8fd013f7-5ee6-4851-88d9-fe1e951e87eb"} {"msg":"The guest has finished waiting for activation with:144","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.186827682Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715} {"msg":"Activated sub_volume 2218ecfa-6016-49d2-8afc-f1235889fddf","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.186835921Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.1868442Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.187183707Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"task":"crutest"} 01/30 Flush 02/30 Flush 03/30 Flush 04/30 Write block 325 len 20480 data: 16 14 13 12 13 05/30 Read block 134 len 20480 06/30 Read block 347 len 40960 07/30 Read block 416 len 40960 08/30 Write block 96 len 32768 data: 7 8 10 10 10 10 12 12 09/30 Read block 546 len 36864 10/30 Flush 11/30 Write block 335 len 36864 data: 12 11 13 15 17 14 14 13 17 12/30 Write block 352 len 24576 data: 8 9 12 13 13 13 13/30 Flush 14/30 Flush 15/30 Write block 248 len 28672 data: 10 12 12 11 11 11 10 16/30 Write block 551 len 32768 data: 9 9 13 15 13 15 16 16 17/30 Write block 166 len 40960 data: 11 11 9 9 10 8 7 7 8 6 18/30 Write block 413 len 12288 data: 14 14 11 19/30 Write block 540 len 40960 data: 10 12 15 14 15 13 12 14 11 11 20/30 Write block 112 len 4096 data: 11 21/30 Read block 110 len 16384 22/30 Write block 115 len 28672 data: 9 8 8 7 10 11 10 23/30 Read block 460 len 32768 24/30 Read block 81 len 20480 25/30 Read block 183 len 36864 26/30 Write block 472 len 16384 data: 16 17 15 14 27/30 Read block 217 len 20480 28/30 Read block 61 len 36864 29/30 Write block 382 len 40960 data: 10 11 13 9 11 11 11 11 10 12 30/30 Write block 362 len 32768 data: 11 11 9 13 11 11 9 9 ---------------------------------------------------------------- Crucible gen:144 GIO:true work queues: Upstairs:0 downstairs:27 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1003 Acked Write 5 Done Done Done false 1004 Acked Read 5 Done Sent Done false 1005 Acked Read 10 Done Sent Done false 1006 Acked Read 10 Done Sent Done false 1007 Acked Write 8 Done Sent Done false 1008 Acked Read 9 Done Sent Done false 1009 Acked Flush 0 Done Sent Done false 1010 Acked Write 9 Done Sent Done false 1011 Acked Write 6 Done Sent Done false 1012 Acked Flush 0 Done Sent Done false 1013 Acked Flush 0 Done Sent Done false 1014 Acked Write 7 Done Sent Done false 1015 Acked Write 8 Done Sent Done false 1016 Acked Write 10 Done Sent Done false 1017 Acked Write 3 Done Sent Done false 1018 Acked Write 10 Done Sent Done false 1019 Acked Write 1 Done Sent Done false 1020 Acked Read 4 Done Sent Done false 1021 Acked Write 7 Done Sent Done false 1022 Acked Read 8 Done Sent Done false 1023 Acked Read 5 Done Sent Done false 1024 Acked Read 9 Done Sent Done false 1025 Acked Write 4 Done Sent Done false 1026 Acked Read 5 Done Sent Done false 1027 Acked Read 9 Done Sent Done false 1028 Acked Write 10 Sent Sent Sent false 1029 Acked Write 8 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 2 26 2 30 Done 25 1 25 51 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1013)) Some(JobId(1002)) Some(JobId(1013)) Downstairs last five completed: 1002 1001 1000 Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:47:09.195121839Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:09.195388834Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1715,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 143 143 143 239 239 239 F F F 1 020-039 143 143 143 239 239 239 F F F 2 040-059 139 139 139 233 233 233 F F F 3 060-079 142 142 142 238 238 238 F F F 4 080-099 144 142 144 243 238 243 F F F <--- 5 100-119 144 140 144 243 234 243 T F T <--- 6 120-139 142 142 142 237 237 237 T F T <--- 7 140-159 139 139 139 233 233 233 F F F 8 160-179 136 136 136 227 227 227 T F T <--- 9 180-199 136 136 136 228 228 228 F F F 10 200-219 142 142 142 237 237 237 F F F 11 220-239 138 138 138 232 232 232 F F F 12 240-259 138 138 138 232 232 232 T F T <--- 13 260-279 143 143 143 239 239 239 F F F 14 280-299 139 139 139 233 233 233 F F F 15 300-319 140 140 140 235 235 235 F F F 16 320-339 144 138 144 244 231 244 F T F <--- 17 340-359 144 137 144 244 229 244 F F F <--- 18 360-379 140 140 140 234 234 234 T F T <--- 19 380-399 142 142 142 238 238 238 T F T <--- 20 400-419 142 142 142 238 238 238 T F T <--- 21 420-439 141 141 141 236 236 236 F F F 22 440-459 140 140 140 234 234 234 F F F 23 460-479 133 133 133 224 224 224 T F T <--- 24 480-499 142 142 142 237 237 237 F F F 25 500-519 142 142 142 237 237 237 F F F 26 520-539 142 142 142 238 238 238 F F F 27 540-559 142 142 142 238 238 238 T F T <--- 28 560-579 140 140 140 234 234 234 F F F 29 580-599 142 142 142 238 238 238 F F F Max gen: 144, Max flush: 244 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 72 Verifying data now No change after verify Loop: 72 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 143 143 143 239 239 239 F F F 1 020-039 143 143 143 239 239 239 F F F 2 040-059 139 139 139 233 233 233 F F F 3 060-079 142 142 142 238 238 238 F F F 4 080-099 144 144 144 243 243 243 F F F 5 100-119 145 145 145 245 245 245 F F F 6 120-139 145 145 145 245 245 245 F F F 7 140-159 139 139 139 233 233 233 F F F 8 160-179 145 145 145 245 245 245 F F F 9 180-199 136 136 136 228 228 228 F F F 10 200-219 142 142 142 237 237 237 F F F 11 220-239 138 138 138 232 232 232 F F F 12 240-259 145 145 145 245 245 245 F F F 13 260-279 143 143 143 239 239 239 F F F 14 280-299 139 139 139 233 233 233 F F F 15 300-319 140 140 140 235 235 235 F F F 16 320-339 144 144 144 244 244 244 F F F 17 340-359 144 144 144 244 244 244 F F F 18 360-379 145 145 145 245 245 245 F F F 19 380-399 145 145 145 245 245 245 F F F 20 400-419 145 145 145 245 245 245 F F F 21 420-439 141 141 141 236 236 236 F F F 22 440-459 140 140 140 234 234 234 F F F 23 460-479 145 145 145 245 245 245 F F F 24 480-499 142 142 142 237 237 237 F F F 25 500-519 142 142 142 237 237 237 F F F 26 520-539 142 142 142 238 238 238 F F F 27 540-559 145 145 145 245 245 245 F F F 28 560-579 140 140 140 234 234 234 F F F 29 580-599 142 142 142 238 238 238 F F F Max gen: 145, Max flush: 245 Begin loop 73 Downstairs to restart: 0 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.438491996Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"task":"crutest"} {"msg":"Failed to get info from \"http://127.0.0.1:12810\" Communication Error: error sending request for url (http://127.0.0.1:12810/region-info)","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:47:13.445657087Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"task":"crutest"} {"msg":"look at: http://127.0.0.1:12820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.445740826Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008820, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.452825787Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.45311522Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.453144477Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.453153245Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.453164944Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723} {"msg":"Crucible 2b7f89f1-9174-4643-a210-597359afa451 has session id: 13f5463a-ea85-4a2f-9b22-d9990d7144d4","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.453528257Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"Upstairs opts: Upstairs UUID: 2b7f89f1-9174-4643-a210-597359afa451, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.453557774Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"Crucible stats registered with UUID: 2b7f89f1-9174-4643-a210-597359afa451","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.453568762Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:47:13.453578181Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.45374223Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"":"io task","client":"2","":"downstairs","session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.453770346Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"":"io task","client":"1","":"downstairs","session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.453786114Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"":"io task","client":"0","":"downstairs","session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.453909039Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"task":"crutest"} {"msg":"The guest has requested activation with gen:146","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.453926116Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723} {"msg":"2b7f89f1-9174-4643-a210-597359afa451 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.453942544Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.453951603Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"client":"0","":"downstairs","session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.453961392Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"client":"1","":"downstairs","session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.453971221Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"client":"2","":"downstairs","session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.453980849Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"":"io task","client":"2","":"downstairs","session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.453990868Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"":"io task","client":"0","":"downstairs","session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.454001067Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"":"io task","client":"1","":"downstairs","session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"ds_connection connected from Ok(127.0.0.1:35020)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.454090905Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"":"io task","client":"0","":"downstairs","session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"ds_connection connected from Ok(127.0.0.1:34175)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.454115862Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"":"io task","client":"1","":"downstairs","session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"ds_connection connected from Ok(127.0.0.1:53127)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.454127311Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"":"io task","client":"2","":"downstairs","session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.454734103Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"client":"1","":"downstairs","session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.45475278Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"client":"2","":"downstairs","session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.454780637Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"client":"0","":"downstairs","session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.45506974Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.455079568Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"[0]R flush_numbers[0..12]: [239, 239, 233, 238, 243, 245, 245, 233, 245, 228, 237, 232]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.45514719Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"":"downstairs","":"downstairs","session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"[0]R generation[0..12]: [143, 143, 139, 142, 144, 145, 145, 139, 145, 136, 142, 138]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.455158598Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"":"downstairs","":"downstairs","session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.455169847Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"":"downstairs","":"downstairs","session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"[1]R flush_numbers[0..12]: [239, 239, 233, 238, 243, 245, 245, 233, 245, 228, 237, 232]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.455180566Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"":"downstairs","":"downstairs","session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"[1]R generation[0..12]: [143, 143, 139, 142, 144, 145, 145, 139, 145, 136, 142, 138]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.455191034Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"":"downstairs","":"downstairs","session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.455202063Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"":"downstairs","":"downstairs","session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"[2]R flush_numbers[0..12]: [239, 239, 233, 238, 243, 245, 245, 233, 245, 228, 237, 232]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.455214731Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"":"downstairs","":"downstairs","session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"[2]R generation[0..12]: [143, 143, 139, 142, 144, 145, 145, 139, 145, 136, 142, 138]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.45522547Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"":"downstairs","":"downstairs","session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.455236588Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"":"downstairs","":"downstairs","session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"Max found gen is 146","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.455246207Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"":"downstairs","":"downstairs","session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"Generation requested: 146 >= found:146","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.455256126Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"":"downstairs","":"downstairs","session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"Next flush: 246","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.455265665Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"":"downstairs","":"downstairs","session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.455275303Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"":"downstairs","":"downstairs","session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.455285142Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.455294091Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"client":"0","":"downstairs","session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.45530392Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"client":"1","":"downstairs","session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.455313808Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"client":"2","":"downstairs","session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.455324047Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.455333386Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"2b7f89f1-9174-4643-a210-597359afa451 is now active with session: 13f5463a-ea85-4a2f-9b22-d9990d7144d4","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.455343675Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.455352753Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"session_id":"13f5463a-ea85-4a2f-9b22-d9990d7144d4"} {"msg":"The guest has finished waiting for activation with:146","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.455363182Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723} {"msg":"Activated sub_volume 2b7f89f1-9174-4643-a210-597359afa451","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.455371561Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.45537983Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.455675362Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"task":"crutest"} 01/30 Write block 146 len 4096 data: 15 02/30 Write block 196 len 24576 data: 9 9 8 7 7 7 03/30 Read block 95 len 24576 04/30 Read block 518 len 4096 05/30 Write block 414 len 24576 data: 15 12 12 10 11 12 06/30 Write block 271 len 40960 data: 11 10 11 10 11 12 14 14 14 15 07/30 Write block 295 len 24576 data: 20 21 24 24 21 18 08/30 Write block 348 len 32768 data: 12 14 12 11 9 10 13 14 09/30 Flush 10/30 Write block 325 len 20480 data: 17 15 14 13 14 11/30 Flush 12/30 Write block 110 len 12288 data: 9 10 12 13/30 Flush 14/30 Flush 15/30 Write block 147 len 8192 data: 15 12 16/30 Flush 17/30 Flush 18/30 Write block 580 len 16384 data: 10 11 12 13 19/30 Flush 20/30 Write block 538 len 24576 data: 9 8 11 13 16 15 21/30 Read block 588 len 16384 22/30 Write block 568 len 36864 data: 12 14 14 12 16 16 15 14 18 23/30 Read block 479 len 4096 24/30 Read block 539 len 36864 25/30 Write block 410 len 40960 data: 13 14 14 15 16 13 13 11 12 13 26/30 Read block 147 len 40960 27/30 Read block 266 len 12288 28/30 Read block 583 len 36864 29/30 Read block 102 len 36864 30/30 Write block 414 len 28672 data: 17 14 14 12 13 14 13 ---------------------------------------------------------------- Crucible gen:146 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 1 Done Done Done false 1001 Acked Write 6 Sent Done Done false 1002 Acked Read 6 Sent Done Done false 1003 Acked Read 1 Sent Done Done false 1004 Acked Write 6 Sent Done Done false 1005 Acked Write 10 Sent Done Done false 1006 Acked Write 6 Sent Done Done false 1007 Acked Write 8 Sent Done Done false 1008 Acked Flush 0 Sent Done Done false 1009 Acked Write 5 Sent Done Done false 1010 Acked Flush 0 Sent Done Done false 1011 Acked Write 3 Sent Done Done false 1012 Acked Flush 0 Sent Done Done false 1013 Acked Flush 0 Sent Done Done false 1014 Acked Write 2 Sent Done Done false 1015 Acked Flush 0 Sent Done Done false 1016 Acked Flush 0 Sent Done Done false 1017 Acked Write 4 Sent Done Done false 1018 Acked Flush 0 Sent Done Done false 1019 Acked Write 6 Sent Done Done false 1020 Acked Read 4 Sent Done Done false 1021 Acked Write 9 Sent Done Done false 1022 Acked Read 1 Sent Done Done false 1023 Acked Read 9 Sent Done Done false 1024 Acked Write 10 Sent Done Done false 1025 Acked Read 10 Sent Done Done false 1026 Acked Read 3 Sent Done Done false 1027 Acked Read 9 Sent Done Done false 1028 Acked Read 9 Sent Done Done false 1029 Acked Write 7 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 29 1 1 31 Done 1 29 29 59 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: None Some(JobId(1018)) Some(JobId(1018)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:47:13.463968829Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:13.464247143Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1723,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 143 143 143 239 239 239 F F F 1 020-039 143 143 143 239 239 239 F F F 2 040-059 139 139 139 233 233 233 F F F 3 060-079 142 142 142 238 238 238 F F F 4 080-099 144 144 144 243 243 243 F F F 5 100-119 145 146 146 245 248 248 F F F <--- 6 120-139 145 145 145 245 245 245 F F F 7 140-159 139 146 146 233 250 250 T F F <--- 8 160-179 145 145 145 245 245 245 F F F 9 180-199 136 146 146 228 246 246 F F F <--- 10 200-219 142 146 146 237 246 246 F F F <--- 11 220-239 138 138 138 232 232 232 F F F 12 240-259 145 145 145 245 245 245 F F F 13 260-279 143 146 146 239 246 246 F F F <--- 14 280-299 139 146 146 233 246 246 F F F <--- 15 300-319 140 146 146 235 246 246 F F F <--- 16 320-339 144 146 146 244 247 247 F F F <--- 17 340-359 144 146 146 244 246 246 F F F <--- 18 360-379 145 145 145 245 245 245 F F F 19 380-399 145 145 145 245 245 245 F F F 20 400-419 145 146 146 245 246 246 F T T <--- 21 420-439 141 141 141 236 236 236 F T T <--- 22 440-459 140 140 140 234 234 234 F F F 23 460-479 145 145 145 245 245 245 F F F 24 480-499 142 142 142 237 237 237 F F F 25 500-519 142 142 142 237 237 237 F F F 26 520-539 142 142 142 238 238 238 F T T <--- 27 540-559 145 145 145 245 245 245 F T T <--- 28 560-579 140 140 140 234 234 234 F T T <--- 29 580-599 142 146 146 238 252 252 F F F <--- Max gen: 146, Max flush: 252 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 73 Verifying data now No change after verify Loop: 73 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 143 143 143 239 239 239 F F F 1 020-039 143 143 143 239 239 239 F F F 2 040-059 139 139 139 233 233 233 F F F 3 060-079 142 142 142 238 238 238 F F F 4 080-099 144 144 144 243 243 243 F F F 5 100-119 146 146 146 248 248 248 F F F 6 120-139 145 145 145 245 245 245 F F F 7 140-159 146 146 146 250 250 250 F F F 8 160-179 145 145 145 245 245 245 F F F 9 180-199 146 146 146 246 246 246 F F F 10 200-219 146 146 146 246 246 246 F F F 11 220-239 138 138 138 232 232 232 F F F 12 240-259 145 145 145 245 245 245 F F F 13 260-279 146 146 146 246 246 246 F F F 14 280-299 146 146 146 246 246 246 F F F 15 300-319 146 146 146 246 246 246 F F F 16 320-339 146 146 146 247 247 247 F F F 17 340-359 146 146 146 246 246 246 F F F 18 360-379 145 145 145 245 245 245 F F F 19 380-399 145 145 145 245 245 245 F F F 20 400-419 147 147 147 253 253 253 F F F 21 420-439 147 147 147 253 253 253 F F F 22 440-459 140 140 140 234 234 234 F F F 23 460-479 145 145 145 245 245 245 F F F 24 480-499 142 142 142 237 237 237 F F F 25 500-519 142 142 142 237 237 237 F F F 26 520-539 147 147 147 253 253 253 F F F 27 540-559 147 147 147 253 253 253 F F F 28 560-579 147 147 147 253 253 253 F F F 29 580-599 146 146 146 252 252 252 F F F Max gen: 147, Max flush: 253 Begin loop 74 Downstairs to restart: 0 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.718936409Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"task":"crutest"} {"msg":"Failed to get info from \"http://127.0.0.1:12810\" Communication Error: error sending request for url (http://127.0.0.1:12810/region-info)","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:47:17.726089732Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"task":"crutest"} {"msg":"look at: http://127.0.0.1:12820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.726160733Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008820, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.732936804Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.733235015Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.733264692Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.733273251Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.733284939Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731} {"msg":"Crucible a65e6841-94c0-4161-a800-17cd3f57063d has session id: 9b22f74c-d436-4775-bb3f-fb274861ade2","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.733635564Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"Upstairs opts: Upstairs UUID: a65e6841-94c0-4161-a800-17cd3f57063d, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.733659611Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"Crucible stats registered with UUID: a65e6841-94c0-4161-a800-17cd3f57063d","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.73366963Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:47:17.733681398Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.733842358Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"":"io task","client":"1","":"downstairs","session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.733857906Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"":"io task","client":"0","":"downstairs","session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.733868134Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"":"io task","client":"2","":"downstairs","session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.734010896Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"task":"crutest"} {"msg":"The guest has requested activation with gen:148","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.734020005Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731} {"msg":"a65e6841-94c0-4161-a800-17cd3f57063d active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.734053261Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.734062869Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"client":"0","":"downstairs","session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.734074158Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"client":"1","":"downstairs","session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.734083947Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"client":"2","":"downstairs","session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.734093565Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"":"io task","client":"2","":"downstairs","session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.734103744Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"":"io task","client":"0","":"downstairs","session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.734113773Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"":"io task","client":"1","":"downstairs","session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"ds_connection connected from Ok(127.0.0.1:63089)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.734173055Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"":"io task","client":"1","":"downstairs","session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"ds_connection connected from Ok(127.0.0.1:43821)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.734199912Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"":"io task","client":"2","":"downstairs","session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"ds_connection connected from Ok(127.0.0.1:45113)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.73421685Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"":"io task","client":"0","":"downstairs","session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.734787046Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"client":"2","":"downstairs","session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.734813143Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"client":"1","":"downstairs","session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.734891853Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"client":"0","":"downstairs","session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.735110675Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.735133092Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"[0]R flush_numbers[0..12]: [239, 239, 233, 238, 243, 248, 245, 250, 245, 246, 246, 232]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.73522416Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"":"downstairs","":"downstairs","session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"[0]R generation[0..12]: [143, 143, 139, 142, 144, 146, 145, 146, 145, 146, 146, 138]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.735236299Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"":"downstairs","":"downstairs","session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.735249727Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"":"downstairs","":"downstairs","session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"[1]R flush_numbers[0..12]: [239, 239, 233, 238, 243, 248, 245, 250, 245, 246, 246, 232]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.735260676Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"":"downstairs","":"downstairs","session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"[1]R generation[0..12]: [143, 143, 139, 142, 144, 146, 145, 146, 145, 146, 146, 138]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.735271444Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"":"downstairs","":"downstairs","session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.735282483Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"":"downstairs","":"downstairs","session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"[2]R flush_numbers[0..12]: [239, 239, 233, 238, 243, 248, 245, 250, 245, 246, 246, 232]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.735293212Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"":"downstairs","":"downstairs","session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"[2]R generation[0..12]: [143, 143, 139, 142, 144, 146, 145, 146, 145, 146, 146, 138]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.73530385Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"":"downstairs","":"downstairs","session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.735315009Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"":"downstairs","":"downstairs","session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"Max found gen is 148","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.735324657Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"":"downstairs","":"downstairs","session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"Generation requested: 148 >= found:148","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.735334556Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"":"downstairs","":"downstairs","session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"Next flush: 254","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.735344195Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"":"downstairs","":"downstairs","session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.735353774Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"":"downstairs","":"downstairs","session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.735363732Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.735372651Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"client":"0","":"downstairs","session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.73538247Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"client":"1","":"downstairs","session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.735392269Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"client":"2","":"downstairs","session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.735403437Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.735412636Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"a65e6841-94c0-4161-a800-17cd3f57063d is now active with session: 9b22f74c-d436-4775-bb3f-fb274861ade2","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.735422735Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.735431734Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"session_id":"9b22f74c-d436-4775-bb3f-fb274861ade2"} {"msg":"The guest has finished waiting for activation with:148","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.735440993Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731} {"msg":"Activated sub_volume a65e6841-94c0-4161-a800-17cd3f57063d","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.735449152Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.73545736Z","Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"task":"crutest"} Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.735735225Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"task":"crutest"} 01/30 Write block 586 len 16384 data: 12 14 16 15 02/30 Write block 240 len 12288 data: 13 10 11 03/30 Read block 520 len 16384 04/30 Read block 8 len 24576 05/30 Write block 553 len 12288 data: 14 16 14 06/30 Write block 549 len 24576 data: 12 10 10 10 15 17 07/30 Read block 278 len 40960 08/30 Write block 372 len 28672 data: 18 16 19 16 13 12 12 09/30 Read block 435 len 20480 10/30 Read block 211 len 20480 11/30 Read block 441 len 32768 12/30 Write block 106 len 20480 data: 12 11 11 8 10 13/30 Write block 64 len 8192 data: 12 13 14/30 Read block 393 len 8192 15/30 Read block 176 len 8192 16/30 Flush 17/30 Write block 112 len 28672 data: 13 9 6 10 9 9 8 18/30 Read block 202 len 32768 19/30 Write block 289 len 12288 data: 15 13 15 20/30 Read block 432 len 20480 21/30 Flush 22/30 Write block 527 len 24576 data: 7 7 8 8 8 6 23/30 Write block 276 len 36864 data: 13 15 15 15 16 14 14 14 15 24/30 Write block 11 len 24576 data: 18 14 11 11 8 6 25/30 Read block 471 len 16384 26/30 Write block 429 len 8192 data: 10 13 27/30 Read block 47 len 40960 28/30 Read block 335 len 40960 29/30 Read block 543 len 24576 30/30 Read block 327 len 8192 ---------------------------------------------------------------- Crucible gen:148 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 4 Done Done Done false 1001 Acked Write 3 Done Done Done false 1002 Acked Read 4 Done Done Done false 1003 Acked Read 6 Done Done Done false 1004 Acked Write 3 Done Done Done false 1005 Acked Write 6 Done Done Done false 1006 Acked Read 10 Done Done Done false 1007 Acked Write 7 Done Done Done false 1008 Acked Read 5 Done Done Done false 1009 Acked Read 5 Done Done Done false 1010 Acked Read 8 Sent Done Done false 1011 Acked Write 5 Sent Done Done false 1012 Acked Write 2 Sent Done Done false 1013 Acked Read 2 Sent Done Done false 1014 Acked Read 2 Sent Done Done false 1015 Acked Flush 0 Sent Done Done false 1016 Acked Write 7 Sent Done Done false 1017 Acked Read 8 Sent Done Done false 1018 Acked Write 3 Sent Done Done false 1019 Acked Read 5 Sent Done Done false 1020 Acked Flush 0 Sent Done Done false 1021 Acked Write 6 Sent Done Done false 1022 Acked Write 9 Sent Done Done false 1023 Acked Write 6 Sent Done Done false 1024 Acked Read 4 Sent Done Done false 1025 Acked Write 2 Sent Done Done false 1026 Acked Read 10 Sent Done Done false 1027 Acked Read 10 Sent Done Done false 1028 Acked Read 6 Sent Done Done false 1029 Acked Read 2 Sent Done Done false STATES DS:0 DS:1 DS:2 TOTAL Sent 20 0 0 20 Done 10 30 30 70 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: None Some(JobId(1020)) Some(JobId(1020)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:47:17.743851354Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:17.744133918Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1731,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 143 143 143 239 239 239 F T T <--- 1 020-039 143 143 143 239 239 239 F F F 2 040-059 139 139 139 233 233 233 F F F 3 060-079 142 148 148 238 254 254 F F F <--- 4 080-099 144 144 144 243 243 243 F F F 5 100-119 146 148 148 248 255 255 F F F <--- 6 120-139 145 145 145 245 245 245 F F F 7 140-159 146 146 146 250 250 250 F F F 8 160-179 145 145 145 245 245 245 F F F 9 180-199 146 146 146 246 246 246 F F F 10 200-219 146 146 146 246 246 246 F F F 11 220-239 138 138 138 232 232 232 F F F 12 240-259 145 148 148 245 254 254 T F F <--- 13 260-279 146 146 146 246 246 246 F T T <--- 14 280-299 146 148 148 246 255 255 F T T <--- 15 300-319 146 146 146 246 246 246 F F F 16 320-339 146 146 146 247 247 247 F F F 17 340-359 146 146 146 246 246 246 F F F 18 360-379 145 148 148 245 254 254 T F F <--- 19 380-399 145 145 145 245 245 245 F F F 20 400-419 147 147 147 253 253 253 F F F 21 420-439 147 147 147 253 253 253 F T T <--- 22 440-459 140 140 140 234 234 234 F F F 23 460-479 145 145 145 245 245 245 F F F 24 480-499 142 142 142 237 237 237 F F F 25 500-519 142 142 142 237 237 237 F F F 26 520-539 147 147 147 253 253 253 F T T <--- 27 540-559 147 148 148 253 254 254 T F F <--- 28 560-579 147 147 147 253 253 253 F F F 29 580-599 146 148 148 252 254 254 T F F <--- Max gen: 148, Max flush: 255 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 74 Verifying data now No change after verify Loop: 74 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 149 149 149 256 256 256 F F F 1 020-039 143 143 143 239 239 239 F F F 2 040-059 139 139 139 233 233 233 F F F 3 060-079 148 148 148 254 254 254 F F F 4 080-099 144 144 144 243 243 243 F F F 5 100-119 148 148 148 255 255 255 F F F 6 120-139 145 145 145 245 245 245 F F F 7 140-159 146 146 146 250 250 250 F F F 8 160-179 145 145 145 245 245 245 F F F 9 180-199 146 146 146 246 246 246 F F F 10 200-219 146 146 146 246 246 246 F F F 11 220-239 138 138 138 232 232 232 F F F 12 240-259 148 148 148 254 254 254 F F F 13 260-279 149 149 149 256 256 256 F F F 14 280-299 149 149 149 256 256 256 F F F 15 300-319 146 146 146 246 246 246 F F F 16 320-339 146 146 146 247 247 247 F F F 17 340-359 146 146 146 246 246 246 F F F 18 360-379 148 148 148 254 254 254 F F F 19 380-399 145 145 145 245 245 245 F F F 20 400-419 147 147 147 253 253 253 F F F 21 420-439 149 149 149 256 256 256 F F F 22 440-459 140 140 140 234 234 234 F F F 23 460-479 145 145 145 245 245 245 F F F 24 480-499 142 142 142 237 237 237 F F F 25 500-519 142 142 142 237 237 237 F F F 26 520-539 149 149 149 256 256 256 F F F 27 540-559 148 148 148 254 254 254 F F F 28 560-579 147 147 147 253 253 253 F F F 29 580-599 148 148 148 254 254 254 F F F Max gen: 149, Max flush: 256 Begin loop 75 Downstairs to restart: 0 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:21.98613241Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"task":"crutest"} {"msg":"Failed to get info from \"http://127.0.0.1:12810\" Communication Error: error sending request for url (http://127.0.0.1:12810/region-info)","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:47:21.993301381Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"task":"crutest"} {"msg":"look at: http://127.0.0.1:12820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:21.993375642Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008820, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.000234492Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.000506607Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.000536833Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.000545772Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.000557571Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739} {"msg":"Crucible 7344bbc0-fbee-430a-8076-1a9fa6145d85 has session id: 7c0128cf-7781-4b6a-b364-744f86859ce2","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.000893987Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"Upstairs opts: Upstairs UUID: 7344bbc0-fbee-430a-8076-1a9fa6145d85, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.000913895Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"Crucible stats registered with UUID: 7344bbc0-fbee-430a-8076-1a9fa6145d85","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.000924273Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:47:22.000957479Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.001140666Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"":"io task","client":"0","":"downstairs","session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.001156264Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"":"io task","client":"2","":"downstairs","session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.001169192Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"":"io task","client":"1","":"downstairs","session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.001295046Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"task":"crutest"} {"msg":"The guest has requested activation with gen:150","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.001312724Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739} {"msg":"7344bbc0-fbee-430a-8076-1a9fa6145d85 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.001330911Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.00133983Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"client":"0","":"downstairs","session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.001350089Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"client":"1","":"downstairs","session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.001360028Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"client":"2","":"downstairs","session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.001370026Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"":"io task","client":"2","":"downstairs","session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.001380325Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"":"io task","client":"0","":"downstairs","session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.001390304Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"":"io task","client":"1","":"downstairs","session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"ds_connection connected from Ok(127.0.0.1:51364)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.001470913Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"":"io task","client":"0","":"downstairs","session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"ds_connection connected from Ok(127.0.0.1:41835)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.001482032Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"":"io task","client":"1","":"downstairs","session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"ds_connection connected from Ok(127.0.0.1:50967)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.001492511Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"":"io task","client":"2","":"downstairs","session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.002172793Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"client":"2","":"downstairs","session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.002207659Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"client":"1","":"downstairs","session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.002252783Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"client":"0","":"downstairs","session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.002531857Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.002566193Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"[0]R flush_numbers[0..12]: [256, 239, 233, 254, 243, 255, 245, 250, 245, 246, 246, 232]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.002608747Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"":"downstairs","":"downstairs","session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"[0]R generation[0..12]: [149, 143, 139, 148, 144, 148, 145, 146, 145, 146, 146, 138]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.002620106Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"":"downstairs","":"downstairs","session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.002631335Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"":"downstairs","":"downstairs","session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"[1]R flush_numbers[0..12]: [256, 239, 233, 254, 243, 255, 245, 250, 245, 246, 246, 232]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.002642093Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"":"downstairs","":"downstairs","session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"[1]R generation[0..12]: [149, 143, 139, 148, 144, 148, 145, 146, 145, 146, 146, 138]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.002652752Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"":"downstairs","":"downstairs","session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.00266374Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"":"downstairs","":"downstairs","session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"[2]R flush_numbers[0..12]: [256, 239, 233, 254, 243, 255, 245, 250, 245, 246, 246, 232]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.002674819Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"":"downstairs","":"downstairs","session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"[2]R generation[0..12]: [149, 143, 139, 148, 144, 148, 145, 146, 145, 146, 146, 138]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.002685688Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"":"downstairs","":"downstairs","session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.002696696Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"":"downstairs","":"downstairs","session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"Max found gen is 150","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.002706495Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"":"downstairs","":"downstairs","session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"Generation requested: 150 >= found:150","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.002716304Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"":"downstairs","":"downstairs","session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"Next flush: 257","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.002725782Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"":"downstairs","":"downstairs","session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.002736871Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"":"downstairs","":"downstairs","session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.00274704Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.002756189Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"client":"0","":"downstairs","session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.002765997Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"client":"1","":"downstairs","session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.002776056Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"client":"2","":"downstairs","session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.002786125Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.002795514Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"7344bbc0-fbee-430a-8076-1a9fa6145d85 is now active with session: 7c0128cf-7781-4b6a-b364-744f86859ce2","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.002805772Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.002814751Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"session_id":"7c0128cf-7781-4b6a-b364-744f86859ce2"} {"msg":"The guest has finished waiting for activation with:150","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.00282411Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739} {"msg":"Activated sub_volume 7344bbc0-fbee-430a-8076-1a9fa6145d85","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.002832319Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.002840638Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.003157927Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"task":"crutest"} 01/30 Write block 181 len 28672 data: 12 14 12 10 10 12 10 02/30 Write block 494 len 8192 data: 9 8 03/30 Read block 43 len 12288 04/30 Flush 05/30 Write block 289 len 20480 data: 16 14 16 17 20 06/30 Flush 07/30 Write block 392 len 12288 data: 12 13 12 08/30 Write block 276 len 40960 data: 14 16 16 16 17 15 15 15 16 15 09/30 Read block 339 len 12288 10/30 Read block 545 len 8192 11/30 Write block 147 len 24576 data: 16 13 13 13 10 8 12/30 Read block 79 len 36864 13/30 Write block 587 len 12288 data: 15 17 16 14/30 Read block 117 len 28672 15/30 Read block 531 len 32768 16/30 Read block 590 len 16384 17/30 Write block 562 len 20480 data: 11 11 9 11 11 18/30 Read block 123 len 24576 19/30 Read block 444 len 24576 20/30 Read block 223 len 40960 21/30 Write block 432 len 24576 data: 12 11 11 9 10 11 22/30 Write block 78 len 24576 data: 6 6 4 7 5 8 23/30 Read block 440 len 12288 24/30 Read block 350 len 4096 25/30 Read block 240 len 16384 26/30 Read block 427 len 8192 27/30 Write block 408 len 8192 data: 14 10 28/30 Read block 160 len 20480 29/30 Write block 466 len 8192 data: 9 11 30/30 Read block 530 len 4096 ---------------------------------------------------------------- Crucible gen:150 GIO:true work queues: Upstairs:0 downstairs:26 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1004 Acked Write 5 Sent Done Done false 1005 Acked Flush 0 Sent Done Done false 1006 Acked Write 3 Sent Done Done false 1007 Acked Write 10 Sent Done Done false 1008 Acked Read 3 Sent Done Done false 1009 Acked Read 2 Sent Done Done false 1010 Acked Write 6 Sent Done Done false 1011 Acked Read 9 Sent Done Done false 1012 Acked Write 3 Sent Done Done false 1013 Acked Read 7 Sent Done Done false 1014 Acked Read 8 Sent Done Done false 1015 Acked Read 4 Sent Done Done false 1016 Acked Write 5 Sent Done Done false 1017 Acked Read 6 Sent Done Done false 1018 Acked Read 6 Sent Done Done false 1019 Acked Read 10 Sent Done Done false 1020 Acked Write 6 Sent Done Done false 1021 Acked Write 6 Sent Done Done false 1022 Acked Read 3 Sent Done Done false 1023 Acked Read 1 Sent Done Done false 1024 Acked Read 4 Sent Done Done false 1025 Acked Read 2 Sent Done Done false 1026 Acked Write 2 Sent Done Done false 1027 Acked Read 5 Sent Done Done false 1028 Acked Write 2 Sent Done Done false 1029 Acked Read 1 Sent Done Done false STATES DS:0 DS:1 DS:2 TOTAL Sent 26 0 0 26 Done 0 26 26 52 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1003)) Some(JobId(1005)) Some(JobId(1005)) Downstairs last five completed: 1003 1002 1001 1000 Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:47:22.011102528Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:22.011405159Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1739,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 149 149 149 256 256 256 F F F 1 020-039 143 143 143 239 239 239 F F F 2 040-059 139 139 139 233 233 233 F F F 3 060-079 148 148 148 254 254 254 F T T <--- 4 080-099 144 144 144 243 243 243 F T T <--- 5 100-119 148 148 148 255 255 255 F F F 6 120-139 145 145 145 245 245 245 F F F 7 140-159 146 146 146 250 250 250 F T T <--- 8 160-179 145 145 145 245 245 245 F F F 9 180-199 150 150 150 257 257 257 F F F 10 200-219 146 146 146 246 246 246 F F F 11 220-239 138 138 138 232 232 232 F F F 12 240-259 148 148 148 254 254 254 F F F 13 260-279 149 149 149 256 256 256 F T T <--- 14 280-299 149 150 150 256 258 258 F T T <--- 15 300-319 146 146 146 246 246 246 F F F 16 320-339 146 146 146 247 247 247 F F F 17 340-359 146 146 146 246 246 246 F F F 18 360-379 148 148 148 254 254 254 F F F 19 380-399 145 145 145 245 245 245 F T T <--- 20 400-419 147 147 147 253 253 253 F T T <--- 21 420-439 149 149 149 256 256 256 F T T <--- 22 440-459 140 140 140 234 234 234 F F F 23 460-479 145 145 145 245 245 245 F T T <--- 24 480-499 150 150 150 257 257 257 F F F 25 500-519 142 142 142 237 237 237 F F F 26 520-539 149 149 149 256 256 256 F F F 27 540-559 148 148 148 254 254 254 F F F 28 560-579 147 147 147 253 253 253 F T T <--- 29 580-599 148 148 148 254 254 254 F T T <--- Max gen: 150, Max flush: 258 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 75 Verifying data now No change after verify Loop: 75 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 149 149 149 256 256 256 F F F 1 020-039 143 143 143 239 239 239 F F F 2 040-059 139 139 139 233 233 233 F F F 3 060-079 151 151 151 259 259 259 F F F 4 080-099 151 151 151 259 259 259 F F F 5 100-119 148 148 148 255 255 255 F F F 6 120-139 145 145 145 245 245 245 F F F 7 140-159 151 151 151 259 259 259 F F F 8 160-179 145 145 145 245 245 245 F F F 9 180-199 150 150 150 257 257 257 F F F 10 200-219 146 146 146 246 246 246 F F F 11 220-239 138 138 138 232 232 232 F F F 12 240-259 148 148 148 254 254 254 F F F 13 260-279 151 151 151 259 259 259 F F F 14 280-299 151 151 151 259 259 259 F F F 15 300-319 146 146 146 246 246 246 F F F 16 320-339 146 146 146 247 247 247 F F F 17 340-359 146 146 146 246 246 246 F F F 18 360-379 148 148 148 254 254 254 F F F 19 380-399 151 151 151 259 259 259 F F F 20 400-419 151 151 151 259 259 259 F F F 21 420-439 151 151 151 259 259 259 F F F 22 440-459 140 140 140 234 234 234 F F F 23 460-479 151 151 151 259 259 259 F F F 24 480-499 150 150 150 257 257 257 F F F 25 500-519 142 142 142 237 237 237 F F F 26 520-539 149 149 149 256 256 256 F F F 27 540-559 148 148 148 254 254 254 F F F 28 560-579 151 151 151 259 259 259 F F F 29 580-599 151 151 151 259 259 259 F F F Max gen: 151, Max flush: 259 Begin loop 76 Downstairs to restart: 1 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.263927924Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.272253507Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.272566227Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.272603892Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.272613101Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.272624779Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747} {"msg":"Crucible dd7c43b9-a7c3-4fef-b148-f61e968cdde8 has session id: 65db2100-9cff-4b70-85b6-a92e79462391","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.272940269Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"Upstairs opts: Upstairs UUID: dd7c43b9-a7c3-4fef-b148-f61e968cdde8, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.272970485Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"Crucible stats registered with UUID: dd7c43b9-a7c3-4fef-b148-f61e968cdde8","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.272981683Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:47:26.272991052Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.273152771Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"":"io task","client":"0","":"downstairs","session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.273183048Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"":"io task","client":"1","":"downstairs","session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.273194166Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"":"io task","client":"2","":"downstairs","session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.27332147Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"task":"crutest"} {"msg":"The guest has requested activation with gen:152","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.273345827Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747} {"msg":"dd7c43b9-a7c3-4fef-b148-f61e968cdde8 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.273358025Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.273367094Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"client":"0","":"downstairs","session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.273376943Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"client":"1","":"downstairs","session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.273386851Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"client":"2","":"downstairs","session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.27339666Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"":"io task","client":"0","":"downstairs","session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.273406799Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"":"io task","client":"2","":"downstairs","session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.273416898Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"":"io task","client":"1","":"downstairs","session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"ds_connection connected from Ok(127.0.0.1:50181)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.27347889Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"":"io task","client":"1","":"downstairs","session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"ds_connection connected from Ok(127.0.0.1:57092)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.273490008Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"":"io task","client":"2","":"downstairs","session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"ds_connection connected from Ok(127.0.0.1:53825)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.273500497Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"":"io task","client":"0","":"downstairs","session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.274230863Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"client":"2","":"downstairs","session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.27425741Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"client":"1","":"downstairs","session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.274269018Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"client":"0","":"downstairs","session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.274584618Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.274594877Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"[0]R flush_numbers[0..12]: [256, 239, 233, 259, 259, 255, 245, 259, 245, 257, 246, 232]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.274629142Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"":"downstairs","":"downstairs","session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"[0]R generation[0..12]: [149, 143, 139, 151, 151, 148, 145, 151, 145, 150, 146, 138]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.274640621Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"":"downstairs","":"downstairs","session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.274651809Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"":"downstairs","":"downstairs","session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"[1]R flush_numbers[0..12]: [256, 239, 233, 259, 259, 255, 245, 259, 245, 257, 246, 232]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.274662578Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"":"downstairs","":"downstairs","session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"[1]R generation[0..12]: [149, 143, 139, 151, 151, 148, 145, 151, 145, 150, 146, 138]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.274673077Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"":"downstairs","":"downstairs","session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.274684155Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"":"downstairs","":"downstairs","session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"[2]R flush_numbers[0..12]: [256, 239, 233, 259, 259, 255, 245, 259, 245, 257, 246, 232]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.274694894Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"":"downstairs","":"downstairs","session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"[2]R generation[0..12]: [149, 143, 139, 151, 151, 148, 145, 151, 145, 150, 146, 138]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.274705422Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"":"downstairs","":"downstairs","session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.274716431Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"":"downstairs","":"downstairs","session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"Max found gen is 152","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.274726Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"":"downstairs","":"downstairs","session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"Generation requested: 152 >= found:152","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.274737628Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"":"downstairs","":"downstairs","session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"Next flush: 260","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.274747037Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"":"downstairs","":"downstairs","session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.274756696Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"":"downstairs","":"downstairs","session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.274766735Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.274775633Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"client":"0","":"downstairs","session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.274785682Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"client":"1","":"downstairs","session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.274795661Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"client":"2","":"downstairs","session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.274805839Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.274815028Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"dd7c43b9-a7c3-4fef-b148-f61e968cdde8 is now active with session: 65db2100-9cff-4b70-85b6-a92e79462391","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.274825107Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.274833896Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"session_id":"65db2100-9cff-4b70-85b6-a92e79462391"} {"msg":"The guest has finished waiting for activation with:152","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.274843085Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747} {"msg":"Activated sub_volume dd7c43b9-a7c3-4fef-b148-f61e968cdde8","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.274851244Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.274859473Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.275152565Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"task":"crutest"} 01/30 Write block 181 len 28672 data: 13 15 13 11 11 13 11 02/30 Write block 316 len 8192 data: 5 8 03/30 Read block 554 len 8192 04/30 Write block 39 len 4096 data: 10 05/30 Write block 176 len 36864 data: 9 11 10 8 14 14 16 14 12 06/30 Flush 07/30 Write block 337 len 24576 data: 14 16 18 15 15 14 08/30 Read block 525 len 28672 09/30 Read block 63 len 20480 10/30 Read block 90 len 36864 11/30 Write block 79 len 16384 data: 7 5 8 6 12/30 Read block 239 len 4096 13/30 Read block 154 len 24576 14/30 Read block 462 len 8192 15/30 Write block 499 len 12288 data: 11 10 12 16/30 Write block 389 len 28672 data: 12 11 13 13 14 13 14 17/30 Write block 68 len 32768 data: 11 12 14 14 12 11 11 10 18/30 Read block 499 len 20480 19/30 Write block 589 len 20480 data: 17 11 11 8 10 20/30 Write block 77 len 36864 data: 7 7 8 6 9 7 9 11 11 21/30 Write block 417 len 4096 data: 13 22/30 Read block 170 len 16384 23/30 Write block 575 len 16384 data: 15 19 13 12 24/30 Write block 363 len 8192 data: 12 10 25/30 Read block 103 len 36864 26/30 Read block 53 len 40960 27/30 Write block 560 len 24576 data: 15 11 12 12 10 12 28/30 Read block 535 len 36864 29/30 Write block 439 len 32768 data: 10 11 10 10 13 15 12 11 30/30 Write block 321 len 32768 data: 10 13 15 17 18 16 15 14 ---------------------------------------------------------------- Crucible gen:152 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 7 Done Done Done false 1001 Acked Write 2 Done Done Done false 1002 Acked Read 2 Done Sent Done false 1003 Acked Write 1 Done Sent Done false 1004 Acked Write 9 Done Sent Done false 1005 Acked Flush 0 Done Sent Done false 1006 Acked Write 6 Done Sent Done false 1007 Acked Read 7 Done Sent Done false 1008 Acked Read 5 Done Sent Done false 1009 Acked Read 9 Done Sent Done false 1010 Acked Write 4 Done Sent Done false 1011 Acked Read 1 Done Sent Done false 1012 Acked Read 6 Done Sent Done false 1013 Acked Read 2 Done Sent Done false 1014 Acked Write 3 Done Sent Done false 1015 Acked Write 7 Done Sent Done false 1016 Acked Write 8 Done Sent Done false 1017 Acked Read 5 Done Sent Done false 1018 Acked Write 5 Done Sent Done false 1019 Acked Write 9 Done Sent Done false 1020 Acked Write 1 Done Sent Done false 1021 Acked Read 4 Done Sent Done false 1022 Acked Write 4 Done Sent Done false 1023 Acked Write 2 Done Sent Done false 1024 Acked Read 9 Done Sent Done false 1025 Acked Read 10 Done Sent Done false 1026 Acked Write 6 Done Sent Done false 1027 Acked Read 9 Done Sent Done false 1028 Acked Write 8 Sent Sent Sent false 1029 Acked Write 8 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 2 28 2 32 Done 28 2 28 58 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1005)) None Some(JobId(1005)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:47:26.282720535Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:26.282994669Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1747,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 149 149 149 256 256 256 F F F 1 020-039 152 143 152 260 239 260 F F F <--- 2 040-059 139 139 139 233 233 233 F F F 3 060-079 151 151 151 259 259 259 T F T <--- 4 080-099 151 151 151 259 259 259 T F T <--- 5 100-119 148 148 148 255 255 255 F F F 6 120-139 145 145 145 245 245 245 F F F 7 140-159 151 151 151 259 259 259 F F F 8 160-179 152 145 152 260 245 260 F F F <--- 9 180-199 152 150 152 260 257 260 F T F <--- 10 200-219 146 146 146 246 246 246 F F F 11 220-239 138 138 138 232 232 232 F F F 12 240-259 148 148 148 254 254 254 F F F 13 260-279 151 151 151 259 259 259 F F F 14 280-299 151 151 151 259 259 259 F F F 15 300-319 152 146 152 260 246 260 F T F <--- 16 320-339 146 146 146 247 247 247 T F T <--- 17 340-359 146 146 146 246 246 246 T F T <--- 18 360-379 148 148 148 254 254 254 T F T <--- 19 380-399 151 151 151 259 259 259 T F T <--- 20 400-419 151 151 151 259 259 259 T F T <--- 21 420-439 151 151 151 259 259 259 T F T <--- 22 440-459 140 140 140 234 234 234 T F T <--- 23 460-479 151 151 151 259 259 259 F F F 24 480-499 150 150 150 257 257 257 T F T <--- 25 500-519 142 142 142 237 237 237 T F T <--- 26 520-539 149 149 149 256 256 256 F F F 27 540-559 148 148 148 254 254 254 F F F 28 560-579 151 151 151 259 259 259 T F T <--- 29 580-599 151 151 151 259 259 259 T F T <--- Max gen: 152, Max flush: 260 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 76 Verifying data now No change after verify Loop: 76 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 149 149 149 256 256 256 F F F 1 020-039 152 152 152 260 260 260 F F F 2 040-059 139 139 139 233 233 233 F F F 3 060-079 153 153 153 261 261 261 F F F 4 080-099 153 153 153 261 261 261 F F F 5 100-119 148 148 148 255 255 255 F F F 6 120-139 145 145 145 245 245 245 F F F 7 140-159 151 151 151 259 259 259 F F F 8 160-179 152 152 152 260 260 260 F F F 9 180-199 152 152 152 260 260 260 F F F 10 200-219 146 146 146 246 246 246 F F F 11 220-239 138 138 138 232 232 232 F F F 12 240-259 148 148 148 254 254 254 F F F 13 260-279 151 151 151 259 259 259 F F F 14 280-299 151 151 151 259 259 259 F F F 15 300-319 152 152 152 260 260 260 F F F 16 320-339 153 153 153 261 261 261 F F F 17 340-359 153 153 153 261 261 261 F F F 18 360-379 153 153 153 261 261 261 F F F 19 380-399 153 153 153 261 261 261 F F F 20 400-419 153 153 153 261 261 261 F F F 21 420-439 153 153 153 261 261 261 F F F 22 440-459 153 153 153 261 261 261 F F F 23 460-479 151 151 151 259 259 259 F F F 24 480-499 153 153 153 261 261 261 F F F 25 500-519 153 153 153 261 261 261 F F F 26 520-539 149 149 149 256 256 256 F F F 27 540-559 148 148 148 254 254 254 F F F 28 560-579 153 153 153 261 261 261 F F F 29 580-599 153 153 153 261 261 261 F F F Max gen: 153, Max flush: 261 Begin loop 77 Downstairs to restart: 2 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.538630194Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.54669256Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.54700524Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.547034276Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.547043565Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.547055174Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755} {"msg":"Crucible 7c5b8341-dd7a-49f6-bd24-9dcccb82406b has session id: e4bcf39f-44b2-45ce-a22d-2014c500785f","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.547420507Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"Upstairs opts: Upstairs UUID: 7c5b8341-dd7a-49f6-bd24-9dcccb82406b, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.547449893Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"Crucible stats registered with UUID: 7c5b8341-dd7a-49f6-bd24-9dcccb82406b","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.547462941Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:47:30.54747255Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.54763069Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"":"io task","client":"1","":"downstairs","session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.547659276Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"":"io task","client":"2","":"downstairs","session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.547670505Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"":"io task","client":"0","":"downstairs","session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.547808247Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"task":"crutest"} {"msg":"The guest has requested activation with gen:154","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.547827075Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755} {"msg":"7c5b8341-dd7a-49f6-bd24-9dcccb82406b active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.547842933Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.547852041Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"client":"0","":"downstairs","session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.5478617Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"client":"1","":"downstairs","session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.547871849Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"client":"2","":"downstairs","session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.547881708Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"":"io task","client":"2","":"downstairs","session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.547892036Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"":"io task","client":"0","":"downstairs","session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.547902135Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"":"io task","client":"1","":"downstairs","session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"ds_connection connected from Ok(127.0.0.1:39767)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.547927772Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"":"io task","client":"0","":"downstairs","session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"ds_connection connected from Ok(127.0.0.1:50862)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.548012371Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"":"io task","client":"1","":"downstairs","session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"ds_connection connected from Ok(127.0.0.1:42292)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.548037998Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"":"io task","client":"2","":"downstairs","session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.548577258Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"client":"1","":"downstairs","session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.548612254Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"client":"0","":"downstairs","session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.548712861Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"client":"2","":"downstairs","session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.548889298Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.548905636Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"[0]R flush_numbers[0..12]: [256, 260, 233, 261, 261, 255, 245, 259, 260, 260, 246, 232]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.548983626Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"":"downstairs","":"downstairs","session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"[0]R generation[0..12]: [149, 152, 139, 153, 153, 148, 145, 151, 152, 152, 146, 138]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.548995195Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"":"downstairs","":"downstairs","session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.549006553Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"":"downstairs","":"downstairs","session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"[1]R flush_numbers[0..12]: [256, 260, 233, 261, 261, 255, 245, 259, 260, 260, 246, 232]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.549017482Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"":"downstairs","":"downstairs","session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"[1]R generation[0..12]: [149, 152, 139, 153, 153, 148, 145, 151, 152, 152, 146, 138]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.549028241Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"":"downstairs","":"downstairs","session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.549039149Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"":"downstairs","":"downstairs","session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"[2]R flush_numbers[0..12]: [256, 260, 233, 261, 261, 255, 245, 259, 260, 260, 246, 232]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.549049968Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"":"downstairs","":"downstairs","session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"[2]R generation[0..12]: [149, 152, 139, 153, 153, 148, 145, 151, 152, 152, 146, 138]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.549063176Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"":"downstairs","":"downstairs","session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.549074375Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"":"downstairs","":"downstairs","session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"Max found gen is 154","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.549084143Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"":"downstairs","":"downstairs","session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"Generation requested: 154 >= found:154","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.549094082Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"":"downstairs","":"downstairs","session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"Next flush: 262","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.549103561Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"":"downstairs","":"downstairs","session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.549113Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"":"downstairs","":"downstairs","session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.549123078Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.549131997Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"client":"0","":"downstairs","session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.549141726Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"client":"1","":"downstairs","session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.549151525Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"client":"2","":"downstairs","session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.549161513Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.549170802Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"7c5b8341-dd7a-49f6-bd24-9dcccb82406b is now active with session: e4bcf39f-44b2-45ce-a22d-2014c500785f","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.549180941Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.54918976Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"session_id":"e4bcf39f-44b2-45ce-a22d-2014c500785f"} {"msg":"The guest has finished waiting for activation with:154","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.549199279Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755} {"msg":"Activated sub_volume 7c5b8341-dd7a-49f6-bd24-9dcccb82406b","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.549207528Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.549217166Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.549547944Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"task":"crutest"} 01/30 Write block 532 len 16384 data: 7 6 6 6 02/30 Read block 520 len 4096 03/30 Write block 578 len 24576 data: 13 11 11 12 13 14 04/30 Read block 488 len 12288 05/30 Write block 555 len 12288 data: 15 16 17 06/30 Read block 114 len 4096 07/30 Read block 174 len 40960 08/30 Write block 269 len 32768 data: 11 10 12 11 12 11 12 15 09/30 Write block 454 len 8192 data: 10 12 10/30 Read block 156 len 24576 11/30 Write block 360 len 20480 data: 12 12 12 13 11 12/30 Flush 13/30 Write block 179 len 28672 data: 9 15 15 17 15 13 12 14/30 Read block 314 len 36864 15/30 Write block 330 len 8192 data: 12 10 16/30 Read block 358 len 36864 17/30 Read block 35 len 40960 18/30 Read block 187 len 40960 19/30 Write block 468 len 8192 data: 12 13 20/30 Write block 437 len 8192 data: 12 11 21/30 Read block 29 len 12288 22/30 Write block 114 len 8192 data: 7 11 23/30 Write block 307 len 12288 data: 14 11 11 24/30 Write block 47 len 8192 data: 9 10 25/30 Read block 548 len 12288 26/30 Write block 446 len 12288 data: 12 10 10 27/30 Write block 59 len 12288 data: 15 14 14 28/30 Write block 397 len 16384 data: 14 16 17 17 29/30 Read block 332 len 36864 30/30 Read block 134 len 24576 ---------------------------------------------------------------- Crucible gen:154 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 4 Done Done Done false 1001 Acked Read 1 Done Done Done false 1002 Acked Write 6 Done Done Done false 1003 Acked Read 3 Done Done Done false 1004 Acked Write 3 Done Done Done false 1005 Acked Read 1 Done Done Done false 1006 Acked Read 10 Done Done Done false 1007 Acked Write 8 Done Done Done false 1008 Acked Write 2 Done Done Done false 1009 Acked Read 6 Done Done Done false 1010 Acked Write 5 Done Done Sent false 1011 Acked Flush 0 Done Done Sent false 1012 Acked Write 7 Done Done Sent false 1013 Acked Read 9 Done Done Sent false 1014 Acked Write 2 Done Done Sent false 1015 Acked Read 9 Done Done Sent false 1016 Acked Read 10 Done Done Sent false 1017 Acked Read 10 Done Done Sent false 1018 Acked Write 2 Done Done Sent false 1019 Acked Write 2 Done Done Sent false 1020 Acked Read 3 Done Done Sent false 1021 Acked Write 2 Done Done Sent false 1022 Acked Write 3 Done Done Sent false 1023 Acked Write 2 Done Done Sent false 1024 Acked Read 3 Done Done Sent false 1025 Acked Write 3 Done Done Sent false 1026 Acked Write 3 Done Done Sent false 1027 Acked Write 4 Done Done Sent false 1028 Acked Read 9 Done Done Sent false 1029 Acked Read 6 Done Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 0 1 20 21 Done 30 29 10 69 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1011)) Some(JobId(1011)) None Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:47:30.556893752Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:30.557190884Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1755,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 149 149 149 256 256 256 F F F 1 020-039 152 152 152 260 260 260 F F F 2 040-059 139 139 139 233 233 233 T T F <--- 3 060-079 153 153 153 261 261 261 T T F <--- 4 080-099 153 153 153 261 261 261 F F F 5 100-119 148 148 148 255 255 255 T T F <--- 6 120-139 145 145 145 245 245 245 F F F 7 140-159 151 151 151 259 259 259 F F F 8 160-179 152 152 152 260 260 260 T T F <--- 9 180-199 152 152 152 260 260 260 T T F <--- 10 200-219 146 146 146 246 246 246 F F F 11 220-239 138 138 138 232 232 232 F F F 12 240-259 148 148 148 254 254 254 F F F 13 260-279 154 154 151 262 262 259 F F T <--- 14 280-299 151 151 151 259 259 259 F F F 15 300-319 152 152 152 260 260 260 T T F <--- 16 320-339 153 153 153 261 261 261 T T F <--- 17 340-359 153 153 153 261 261 261 F F F 18 360-379 154 154 153 262 262 261 F F F <--- 19 380-399 153 153 153 261 261 261 T T F <--- 20 400-419 153 153 153 261 261 261 T T F <--- 21 420-439 153 153 153 261 261 261 T T F <--- 22 440-459 154 154 153 262 262 261 T T T <--- 23 460-479 151 151 151 259 259 259 T T F <--- 24 480-499 153 153 153 261 261 261 F F F 25 500-519 153 153 153 261 261 261 F F F 26 520-539 154 154 149 262 262 256 F F T <--- 27 540-559 154 154 148 262 262 254 F F T <--- 28 560-579 154 154 153 262 262 261 F F T <--- 29 580-599 154 154 153 262 262 261 F F T <--- Max gen: 154, Max flush: 262 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 77 Verifying data now No change after verify Loop: 77 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 149 149 149 256 256 256 F F F 1 020-039 152 152 152 260 260 260 F F F 2 040-059 155 155 155 263 263 263 F F F 3 060-079 155 155 155 263 263 263 F F F 4 080-099 153 153 153 261 261 261 F F F 5 100-119 155 155 155 263 263 263 F F F 6 120-139 145 145 145 245 245 245 F F F 7 140-159 151 151 151 259 259 259 F F F 8 160-179 155 155 155 263 263 263 F F F 9 180-199 155 155 155 263 263 263 F F F 10 200-219 146 146 146 246 246 246 F F F 11 220-239 138 138 138 232 232 232 F F F 12 240-259 148 148 148 254 254 254 F F F 13 260-279 154 154 154 262 262 262 F F F 14 280-299 151 151 151 259 259 259 F F F 15 300-319 155 155 155 263 263 263 F F F 16 320-339 155 155 155 263 263 263 F F F 17 340-359 153 153 153 261 261 261 F F F 18 360-379 154 154 154 262 262 262 F F F 19 380-399 155 155 155 263 263 263 F F F 20 400-419 155 155 155 263 263 263 F F F 21 420-439 155 155 155 263 263 263 F F F 22 440-459 155 155 155 263 263 263 F F F 23 460-479 155 155 155 263 263 263 F F F 24 480-499 153 153 153 261 261 261 F F F 25 500-519 153 153 153 261 261 261 F F F 26 520-539 154 154 154 262 262 262 F F F 27 540-559 154 154 154 262 262 262 F F F 28 560-579 154 154 154 262 262 262 F F F 29 580-599 154 154 154 262 262 262 F F F Max gen: 155, Max flush: 263 Begin loop 78 Downstairs to restart: 2 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.810147621Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.818600897Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.818949423Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.818984998Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.818993937Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.819008055Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763} {"msg":"Crucible 7c94def3-f3e6-491e-8454-5e4f6006f3c5 has session id: 619fecc5-35fc-45b5-8902-9b703f32bed6","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.819354291Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"Upstairs opts: Upstairs UUID: 7c94def3-f3e6-491e-8454-5e4f6006f3c5, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.819378628Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"Crucible stats registered with UUID: 7c94def3-f3e6-491e-8454-5e4f6006f3c5","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.819389786Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:47:34.819399925Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.819571963Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"":"io task","client":"2","":"downstairs","session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.819600709Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"":"io task","client":"0","":"downstairs","session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.819612008Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"":"io task","client":"1","":"downstairs","session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.819730802Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"task":"crutest"} {"msg":"The guest has requested activation with gen:156","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.819755169Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763} {"msg":"7c94def3-f3e6-491e-8454-5e4f6006f3c5 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.819779426Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.819789115Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"client":"0","":"downstairs","session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.819799244Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"client":"1","":"downstairs","session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.819809152Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"client":"2","":"downstairs","session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.819819041Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"":"io task","client":"2","":"downstairs","session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.819831369Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"":"io task","client":"1","":"downstairs","session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.819851537Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"":"io task","client":"0","":"downstairs","session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"ds_connection connected from Ok(127.0.0.1:50883)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.819879843Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"":"io task","client":"2","":"downstairs","session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"ds_connection connected from Ok(127.0.0.1:40116)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.819915039Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"":"io task","client":"1","":"downstairs","session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"ds_connection connected from Ok(127.0.0.1:48074)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.819926367Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"":"io task","client":"0","":"downstairs","session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.820550627Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"client":"1","":"downstairs","session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.820570785Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"client":"0","":"downstairs","session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.820689969Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"client":"2","":"downstairs","session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.820879685Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.820890794Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"[0]R flush_numbers[0..12]: [256, 260, 263, 263, 261, 263, 245, 259, 263, 263, 246, 232]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.82099334Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"":"downstairs","":"downstairs","session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"[0]R generation[0..12]: [149, 152, 155, 155, 153, 155, 145, 151, 155, 155, 146, 138]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.821029386Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"":"downstairs","":"downstairs","session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.821041644Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"":"downstairs","":"downstairs","session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"[1]R flush_numbers[0..12]: [256, 260, 263, 263, 261, 263, 245, 259, 263, 263, 246, 232]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.821052933Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"":"downstairs","":"downstairs","session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"[1]R generation[0..12]: [149, 152, 155, 155, 153, 155, 145, 151, 155, 155, 146, 138]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.821064131Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"":"downstairs","":"downstairs","session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.821078Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"":"downstairs","":"downstairs","session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"[2]R flush_numbers[0..12]: [256, 260, 263, 263, 261, 263, 245, 259, 263, 263, 246, 232]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.821089388Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"":"downstairs","":"downstairs","session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"[2]R generation[0..12]: [149, 152, 155, 155, 153, 155, 145, 151, 155, 155, 146, 138]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.821100337Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"":"downstairs","":"downstairs","session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.821111635Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"":"downstairs","":"downstairs","session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"Max found gen is 156","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.821121444Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"":"downstairs","":"downstairs","session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"Generation requested: 156 >= found:156","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.821131743Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"":"downstairs","":"downstairs","session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"Next flush: 264","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.821141401Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"":"downstairs","":"downstairs","session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.82115115Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"":"downstairs","":"downstairs","session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.821161239Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.821170418Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"client":"0","":"downstairs","session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.821180676Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"client":"1","":"downstairs","session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.821190785Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"client":"2","":"downstairs","session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.821201264Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.821210753Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"7c94def3-f3e6-491e-8454-5e4f6006f3c5 is now active with session: 619fecc5-35fc-45b5-8902-9b703f32bed6","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.821221121Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.82123158Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"session_id":"619fecc5-35fc-45b5-8902-9b703f32bed6"} {"msg":"The guest has finished waiting for activation with:156","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.821241079Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763} {"msg":"Activated sub_volume 7c94def3-f3e6-491e-8454-5e4f6006f3c5","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.821249518Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.821258027Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.821547889Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"task":"crutest"} 01/30 Write block 178 len 12288 data: 11 10 16 02/30 Read block 306 len 12288 03/30 Write block 334 len 40960 data: 10 13 12 15 17 19 16 16 15 18 04/30 Write block 257 len 20480 data: 8 9 10 11 11 05/30 Read block 322 len 20480 06/30 Read block 61 len 4096 07/30 Read block 339 len 8192 08/30 Read block 348 len 8192 09/30 Write block 124 len 36864 data: 10 10 7 7 7 8 9 10 10 10/30 Write block 433 len 36864 data: 12 12 10 11 13 12 11 12 11 11/30 Read block 451 len 4096 12/30 Write block 540 len 28672 data: 12 14 17 16 16 14 13 13/30 Flush 14/30 Flush 15/30 Write block 82 len 4096 data: 8 16/30 Write block 19 len 16384 data: 12 13 12 12 17/30 Read block 404 len 12288 18/30 Read block 379 len 32768 19/30 Read block 393 len 12288 20/30 Read block 536 len 32768 21/30 Write block 426 len 12288 data: 11 12 11 22/30 Flush 23/30 Flush 24/30 Write block 438 len 32768 data: 13 12 13 12 11 14 16 13 25/30 Read block 560 len 4096 26/30 Read block 597 len 8192 27/30 Write block 101 len 32768 data: 11 13 13 12 12 13 12 12 28/30 Write block 498 len 40960 data: 10 12 11 13 13 13 14 12 9 12 29/30 Write block 414 len 4096 data: 18 30/30 Read block 48 len 24576 ---------------------------------------------------------------- Crucible gen:156 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 3 Done Done Done false 1001 Acked Read 3 Done Done Done false 1002 Acked Write 10 Done Done Sent false 1003 Acked Write 5 Done Done Sent false 1004 Acked Read 5 Done Done Sent false 1005 Acked Read 1 Done Done Sent false 1006 Acked Read 2 Done Done Sent false 1007 Acked Read 2 Done Done Sent false 1008 Acked Write 9 Done Done Sent false 1009 Acked Write 9 Done Done Sent false 1010 Acked Read 1 Done Done Sent false 1011 Acked Write 7 Done Done Sent false 1012 Acked Flush 0 Done Done Sent false 1013 Acked Flush 0 Done Done Sent false 1014 Acked Write 1 Done Done Sent false 1015 Acked Write 4 Done Done Sent false 1016 Acked Read 3 Done Done Sent false 1017 Acked Read 8 Done Done Sent false 1018 Acked Read 3 Done Done Sent false 1019 Acked Read 8 Done Done Sent false 1020 Acked Write 3 Done Done Sent false 1021 Acked Flush 0 Done Done Sent false 1022 Acked Flush 0 Done Done Sent false 1023 Acked Write 8 Done Done Sent false 1024 Acked Read 1 Done Done Sent false 1025 Acked Read 2 Done Done Sent false 1026 Acked Write 8 Done Done Sent false 1027 Acked Write 10 Done Done Sent false 1028 Acked Write 1 Done Done Sent false 1029 Acked Read 6 Done Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 0 1 28 29 Done 30 29 2 61 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1022)) Some(JobId(1022)) None Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:47:34.829831297Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:34.830124409Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1763,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 156 156 149 266 266 256 F F F <--- 1 020-039 156 156 152 266 266 260 F F F <--- 2 040-059 155 155 155 263 263 263 F F F 3 060-079 155 155 155 263 263 263 F F F 4 080-099 156 156 153 266 266 261 F F F <--- 5 100-119 155 155 155 263 263 263 T T F <--- 6 120-139 156 156 145 264 264 245 F F F <--- 7 140-159 151 151 151 259 259 259 F F F 8 160-179 156 156 155 264 264 263 F F T <--- 9 180-199 156 156 155 264 264 263 F F T <--- 10 200-219 146 146 146 246 246 246 F F F 11 220-239 138 138 138 232 232 232 F F F 12 240-259 156 156 148 264 264 254 F F F <--- 13 260-279 156 156 154 264 264 262 F F F <--- 14 280-299 151 151 151 259 259 259 F F F 15 300-319 155 155 155 263 263 263 F F F 16 320-339 156 156 155 264 264 263 F F F <--- 17 340-359 156 156 153 264 264 261 F F F <--- 18 360-379 154 154 154 262 262 262 F F F 19 380-399 155 155 155 263 263 263 F F F 20 400-419 155 155 155 263 263 263 T T F <--- 21 420-439 156 156 155 266 266 263 T T F <--- 22 440-459 156 156 155 264 264 263 T T F <--- 23 460-479 155 155 155 263 263 263 F F F 24 480-499 153 153 153 261 261 261 T T F <--- 25 500-519 153 153 153 261 261 261 T T F <--- 26 520-539 154 154 154 262 262 262 F F F 27 540-559 156 156 154 264 264 262 F F F <--- 28 560-579 154 154 154 262 262 262 F F F 29 580-599 154 154 154 262 262 262 F F F Max gen: 156, Max flush: 266 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 78 Verifying data now No change after verify Loop: 78 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 156 156 156 266 266 266 F F F 1 020-039 156 156 156 266 266 266 F F F 2 040-059 155 155 155 263 263 263 F F F 3 060-079 155 155 155 263 263 263 F F F 4 080-099 156 156 156 266 266 266 F F F 5 100-119 157 157 157 267 267 267 F F F 6 120-139 156 156 156 264 264 264 F F F 7 140-159 151 151 151 259 259 259 F F F 8 160-179 156 156 156 264 264 264 F F F 9 180-199 156 156 156 264 264 264 F F F 10 200-219 146 146 146 246 246 246 F F F 11 220-239 138 138 138 232 232 232 F F F 12 240-259 156 156 156 264 264 264 F F F 13 260-279 156 156 156 264 264 264 F F F 14 280-299 151 151 151 259 259 259 F F F 15 300-319 155 155 155 263 263 263 F F F 16 320-339 156 156 156 264 264 264 F F F 17 340-359 156 156 156 264 264 264 F F F 18 360-379 154 154 154 262 262 262 F F F 19 380-399 155 155 155 263 263 263 F F F 20 400-419 157 157 157 267 267 267 F F F 21 420-439 157 157 157 267 267 267 F F F 22 440-459 157 157 157 267 267 267 F F F 23 460-479 155 155 155 263 263 263 F F F 24 480-499 157 157 157 267 267 267 F F F 25 500-519 157 157 157 267 267 267 F F F 26 520-539 154 154 154 262 262 262 F F F 27 540-559 156 156 156 264 264 264 F F F 28 560-579 154 154 154 262 262 262 F F F 29 580-599 154 154 154 262 262 262 F F F Max gen: 157, Max flush: 267 Begin loop 79 Downstairs to restart: 0 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.085689484Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"task":"crutest"} {"msg":"Failed to get info from \"http://127.0.0.1:12810\" Communication Error: error sending request for url (http://127.0.0.1:12810/region-info)","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:47:39.092831618Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"task":"crutest"} {"msg":"look at: http://127.0.0.1:12820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.092907368Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008820, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.099857777Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.100136481Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.100164798Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.100173477Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.100185325Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771} {"msg":"Crucible 3e067221-3b26-4d1b-aa00-824f2e025424 has session id: d4fd3e10-4002-44fa-80ba-b29a8722324e","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.100507174Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"Upstairs opts: Upstairs UUID: 3e067221-3b26-4d1b-aa00-824f2e025424, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.100531681Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"Crucible stats registered with UUID: 3e067221-3b26-4d1b-aa00-824f2e025424","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.100541929Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:47:39.100560157Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.100716227Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"":"io task","client":"1","":"downstairs","session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.100746953Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"":"io task","client":"0","":"downstairs","session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.100757922Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"":"io task","client":"2","":"downstairs","session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.100891985Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"task":"crutest"} {"msg":"The guest has requested activation with gen:158","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.100906823Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771} {"msg":"3e067221-3b26-4d1b-aa00-824f2e025424 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.10093022Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.100942258Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"client":"0","":"downstairs","session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.100952477Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"client":"1","":"downstairs","session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.100962516Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"client":"2","":"downstairs","session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.100972334Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"":"io task","client":"2","":"downstairs","session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.100982493Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"":"io task","client":"0","":"downstairs","session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.100992682Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"":"io task","client":"1","":"downstairs","session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"ds_connection connected from Ok(127.0.0.1:48812)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.101100798Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"":"io task","client":"2","":"downstairs","session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"ds_connection connected from Ok(127.0.0.1:48751)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.101126644Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"":"io task","client":"0","":"downstairs","session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"ds_connection connected from Ok(127.0.0.1:57573)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.101138093Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"":"io task","client":"1","":"downstairs","session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.101744235Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"client":"1","":"downstairs","session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.101770562Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"client":"2","":"downstairs","session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.10178247Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"client":"0","":"downstairs","session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.102084712Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.102108379Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"[0]R flush_numbers[0..12]: [266, 266, 263, 263, 266, 267, 264, 259, 264, 264, 246, 232]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.102184949Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"":"downstairs","":"downstairs","session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"[0]R generation[0..12]: [156, 156, 155, 155, 156, 157, 156, 151, 156, 156, 146, 138]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.102199457Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"":"downstairs","":"downstairs","session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.102210745Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"":"downstairs","":"downstairs","session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"[1]R flush_numbers[0..12]: [266, 266, 263, 263, 266, 267, 264, 259, 264, 264, 246, 232]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.102221584Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"":"downstairs","":"downstairs","session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"[1]R generation[0..12]: [156, 156, 155, 155, 156, 157, 156, 151, 156, 156, 146, 138]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.102232323Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"":"downstairs","":"downstairs","session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.102243351Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"":"downstairs","":"downstairs","session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"[2]R flush_numbers[0..12]: [266, 266, 263, 263, 266, 267, 264, 259, 264, 264, 246, 232]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.10225418Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"":"downstairs","":"downstairs","session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"[2]R generation[0..12]: [156, 156, 155, 155, 156, 157, 156, 151, 156, 156, 146, 138]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.102265298Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"":"downstairs","":"downstairs","session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.102276407Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"":"downstairs","":"downstairs","session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"Max found gen is 158","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.102286036Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"":"downstairs","":"downstairs","session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"Generation requested: 158 >= found:158","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.102296074Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"":"downstairs","":"downstairs","session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"Next flush: 268","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.102305603Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"":"downstairs","":"downstairs","session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.102315152Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"":"downstairs","":"downstairs","session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.102325001Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.102334Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"client":"0","":"downstairs","session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.102345658Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"client":"1","":"downstairs","session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.102355727Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"client":"2","":"downstairs","session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.102365986Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.102379734Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"3e067221-3b26-4d1b-aa00-824f2e025424 is now active with session: d4fd3e10-4002-44fa-80ba-b29a8722324e","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.102389832Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.102398921Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"session_id":"d4fd3e10-4002-44fa-80ba-b29a8722324e"} {"msg":"The guest has finished waiting for activation with:158","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.10240833Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771} {"msg":"Activated sub_volume 3e067221-3b26-4d1b-aa00-824f2e025424","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.102416679Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.102425018Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.102760885Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"task":"crutest"} 01/30 Write block 576 len 4096 data: 20 02/30 Read block 4 len 32768 03/30 Read block 535 len 36864 04/30 Read block 385 len 8192 05/30 Write block 326 len 8192 data: 17 16 06/30 Read block 73 len 36864 07/30 Write block 94 len 36864 data: 13 11 8 9 11 11 11 12 14 08/30 Write block 392 len 12288 data: 14 15 14 09/30 Flush 10/30 Write block 373 len 4096 data: 17 11/30 Read block 155 len 12288 12/30 Read block 509 len 4096 13/30 Flush 14/30 Write block 72 len 40960 data: 13 12 12 11 8 8 8 9 7 10 15/30 Flush 16/30 Flush 17/30 Write block 494 len 12288 data: 10 9 7 18/30 Write block 407 len 16384 data: 12 15 11 14 19/30 Read block 574 len 16384 20/30 Read block 348 len 4096 21/30 Write block 446 len 32768 data: 13 11 11 13 11 12 12 10 22/30 Read block 294 len 16384 23/30 Read block 348 len 40960 24/30 Write block 420 len 16384 data: 14 15 12 17 25/30 Read block 47 len 36864 26/30 Write block 57 len 16384 data: 13 15 16 15 27/30 Read block 79 len 32768 28/30 Write block 275 len 28672 data: 13 16 17 17 17 18 16 29/30 Read block 33 len 32768 30/30 Write block 244 len 40960 data: 11 13 13 10 11 13 13 12 12 12 ---------------------------------------------------------------- Crucible gen:158 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 1 Done Done Done false 1001 Acked Read 8 Done Done Done false 1002 Acked Read 9 Sent Done Done false 1003 Acked Read 2 Sent Done Done false 1004 Acked Write 2 Sent Done Done false 1005 Acked Read 9 Sent Done Done false 1006 Acked Write 9 Sent Done Done false 1007 Acked Write 3 Sent Done Done false 1008 Acked Flush 0 Sent Done Done false 1009 Acked Write 1 Sent Done Done false 1010 Acked Read 3 Sent Done Done false 1011 Acked Read 1 Sent Done Done false 1012 Acked Flush 0 Sent Done Done false 1013 Acked Write 10 Sent Done Done false 1014 Acked Flush 0 Sent Done Done false 1015 Acked Flush 0 Sent Done Done false 1016 Acked Write 3 Sent Done Done false 1017 Acked Write 4 Sent Done Done false 1018 Acked Read 4 Sent Done Done false 1019 Acked Read 1 Sent Done Done false 1020 Acked Write 8 Sent Done Done false 1021 Acked Read 4 Sent Done Done false 1022 Acked Read 10 Sent Done Done false 1023 Acked Write 4 Sent Done Done false 1024 Acked Read 9 Sent Done Done false 1025 Acked Write 4 Sent Done Done false 1026 Acked Read 8 Sent Done Done false 1027 Acked Write 7 Sent Done Done false 1028 Acked Read 8 Sent Done Done false 1029 Acked Write 10 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 28 1 1 30 Done 2 29 29 60 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: None Some(JobId(1015)) Some(JobId(1015)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:47:39.110941626Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:39.111227879Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1771,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 156 156 156 266 266 266 F F F 1 020-039 156 156 156 266 266 266 F F F 2 040-059 155 155 155 263 263 263 F T T <--- 3 060-079 155 158 158 263 270 270 F T T <--- 4 080-099 156 158 158 266 270 270 F F F <--- 5 100-119 157 158 158 267 268 268 F F F <--- 6 120-139 156 156 156 264 264 264 F F F 7 140-159 151 151 151 259 259 259 F F F 8 160-179 156 156 156 264 264 264 F F F 9 180-199 156 156 156 264 264 264 F F F 10 200-219 146 146 146 246 246 246 F F F 11 220-239 138 138 138 232 232 232 F F F 12 240-259 156 156 156 264 264 264 F T T <--- 13 260-279 156 156 156 264 264 264 F T T <--- 14 280-299 151 151 151 259 259 259 F T T <--- 15 300-319 155 155 155 263 263 263 F F F 16 320-339 156 158 158 264 268 268 F F F <--- 17 340-359 156 156 156 264 264 264 F F F 18 360-379 154 158 158 262 269 269 F F F <--- 19 380-399 155 158 158 263 268 268 F F F <--- 20 400-419 157 157 157 267 267 267 F T T <--- 21 420-439 157 157 157 267 267 267 F T T <--- 22 440-459 157 157 157 267 267 267 F T T <--- 23 460-479 155 155 155 263 263 263 F F F 24 480-499 157 157 157 267 267 267 F T T <--- 25 500-519 157 157 157 267 267 267 F F F 26 520-539 154 154 154 262 262 262 F F F 27 540-559 156 156 156 264 264 264 F F F 28 560-579 154 158 158 262 268 268 T F F <--- 29 580-599 154 154 154 262 262 262 F F F Max gen: 158, Max flush: 270 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 79 Verifying data now No change after verify Loop: 79 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 156 156 156 266 266 266 F F F 1 020-039 156 156 156 266 266 266 F F F 2 040-059 159 159 159 271 271 271 F F F 3 060-079 159 159 159 271 271 271 F F F 4 080-099 158 158 158 270 270 270 F F F 5 100-119 158 158 158 268 268 268 F F F 6 120-139 156 156 156 264 264 264 F F F 7 140-159 151 151 151 259 259 259 F F F 8 160-179 156 156 156 264 264 264 F F F 9 180-199 156 156 156 264 264 264 F F F 10 200-219 146 146 146 246 246 246 F F F 11 220-239 138 138 138 232 232 232 F F F 12 240-259 159 159 159 271 271 271 F F F 13 260-279 159 159 159 271 271 271 F F F 14 280-299 159 159 159 271 271 271 F F F 15 300-319 155 155 155 263 263 263 F F F 16 320-339 158 158 158 268 268 268 F F F 17 340-359 156 156 156 264 264 264 F F F 18 360-379 158 158 158 269 269 269 F F F 19 380-399 158 158 158 268 268 268 F F F 20 400-419 159 159 159 271 271 271 F F F 21 420-439 159 159 159 271 271 271 F F F 22 440-459 159 159 159 271 271 271 F F F 23 460-479 155 155 155 263 263 263 F F F 24 480-499 159 159 159 271 271 271 F F F 25 500-519 157 157 157 267 267 267 F F F 26 520-539 154 154 154 262 262 262 F F F 27 540-559 156 156 156 264 264 264 F F F 28 560-579 158 158 158 268 268 268 F F F 29 580-599 154 154 154 262 262 262 F F F Max gen: 159, Max flush: 271 Begin loop 80 Downstairs to restart: 2 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.367064748Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.375574207Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.375909064Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.37593815Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.375947449Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.375959407Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779} {"msg":"Crucible d960a4b3-c469-420f-a883-ff7ddd90e63d has session id: 63579a84-c25e-45a6-8077-4c36c27b3850","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.3763266Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"Upstairs opts: Upstairs UUID: d960a4b3-c469-420f-a883-ff7ddd90e63d, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.376347718Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"Crucible stats registered with UUID: d960a4b3-c469-420f-a883-ff7ddd90e63d","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.376358006Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:47:43.376369765Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.376546292Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"":"io task","client":"0","":"downstairs","session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.376572879Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"":"io task","client":"1","":"downstairs","session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.376585787Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"":"io task","client":"2","":"downstairs","session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.376697473Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"task":"crutest"} {"msg":"The guest has requested activation with gen:160","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.376725669Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779} {"msg":"d960a4b3-c469-420f-a883-ff7ddd90e63d active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.376744227Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.376753446Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"client":"0","":"downstairs","session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.376763304Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"client":"1","":"downstairs","session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.376773173Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"client":"2","":"downstairs","session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.376788281Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"":"io task","client":"2","":"downstairs","session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.376824716Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"":"io task","client":"1","":"downstairs","session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.376849923Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"":"io task","client":"0","":"downstairs","session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"ds_connection connected from Ok(127.0.0.1:43783)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.376861632Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"":"io task","client":"2","":"downstairs","session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"ds_connection connected from Ok(127.0.0.1:33626)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.376906796Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"":"io task","client":"0","":"downstairs","session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"ds_connection connected from Ok(127.0.0.1:54855)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.376918334Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"":"io task","client":"1","":"downstairs","session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.377617245Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"client":"1","":"downstairs","session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.377637972Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"client":"2","":"downstairs","session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.377649491Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"client":"0","":"downstairs","session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.37796727Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.377977589Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"[0]R flush_numbers[0..12]: [266, 266, 271, 271, 270, 268, 264, 259, 264, 264, 246, 232]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.378021243Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"":"downstairs","":"downstairs","session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"[0]R generation[0..12]: [156, 156, 159, 159, 158, 158, 156, 151, 156, 156, 146, 138]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.378032622Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"":"downstairs","":"downstairs","session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.37804376Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"":"downstairs","":"downstairs","session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"[1]R flush_numbers[0..12]: [266, 266, 271, 271, 270, 268, 264, 259, 264, 264, 246, 232]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.378054479Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"":"downstairs","":"downstairs","session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"[1]R generation[0..12]: [156, 156, 159, 159, 158, 158, 156, 151, 156, 156, 146, 138]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.378065117Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"":"downstairs","":"downstairs","session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.378076066Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"":"downstairs","":"downstairs","session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"[2]R flush_numbers[0..12]: [266, 266, 271, 271, 270, 268, 264, 259, 264, 264, 246, 232]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.378086815Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"":"downstairs","":"downstairs","session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"[2]R generation[0..12]: [156, 156, 159, 159, 158, 158, 156, 151, 156, 156, 146, 138]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.378097433Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"":"downstairs","":"downstairs","session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.378108502Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"":"downstairs","":"downstairs","session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"Max found gen is 160","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.378118121Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"":"downstairs","":"downstairs","session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"Generation requested: 160 >= found:160","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.378128049Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"":"downstairs","":"downstairs","session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"Next flush: 272","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.378137698Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"":"downstairs","":"downstairs","session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.378148927Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"":"downstairs","":"downstairs","session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.378158865Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.378167884Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"client":"0","":"downstairs","session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.378177703Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"client":"1","":"downstairs","session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.378187522Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"client":"2","":"downstairs","session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.37819749Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.378206799Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"d960a4b3-c469-420f-a883-ff7ddd90e63d is now active with session: 63579a84-c25e-45a6-8077-4c36c27b3850","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.378216858Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.378225777Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"session_id":"63579a84-c25e-45a6-8077-4c36c27b3850"} {"msg":"The guest has finished waiting for activation with:160","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.378234936Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779} {"msg":"Activated sub_volume d960a4b3-c469-420f-a883-ff7ddd90e63d","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.378243055Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.378251334Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.378553435Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"task":"crutest"} 01/30 Write block 341 len 16384 data: 17 16 19 17 02/30 Write block 530 len 12288 data: 9 9 8 03/30 Flush 04/30 Write block 54 len 8192 data: 7 8 05/30 Read block 290 len 20480 06/30 Write block 43 len 36864 data: 7 8 8 9 10 11 9 10 8 07/30 Write block 286 len 20480 data: 15 17 17 17 15 08/30 Write block 17 len 28672 data: 6 10 13 14 13 13 12 09/30 Flush 10/30 Write block 71 len 20480 data: 15 14 13 13 12 11/30 Write block 159 len 40960 data: 10 7 8 9 9 12 12 12 12 10 12/30 Read block 54 len 4096 13/30 Write block 79 len 36864 data: 10 8 11 9 10 12 12 11 12 14/30 Write block 573 len 20480 data: 17 16 16 21 14 15/30 Read block 6 len 8192 16/30 Read block 539 len 12288 17/30 Flush 18/30 Write block 168 len 32768 data: 11 10 11 9 8 8 9 7 19/30 Write block 470 len 40960 data: 13 15 17 18 16 15 17 16 13 12 20/30 Read block 346 len 24576 21/30 Write block 207 len 4096 data: 14 22/30 Read block 415 len 36864 23/30 Read block 310 len 4096 24/30 Read block 182 len 4096 25/30 Read block 289 len 36864 26/30 Read block 542 len 36864 27/30 Read block 165 len 4096 28/30 Write block 338 len 8192 data: 18 20 29/30 Read block 328 len 28672 30/30 Read block 36 len 4096 ---------------------------------------------------------------- Crucible gen:160 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 4 Done Done Sent false 1001 Acked Write 3 Done Done Sent false 1002 Acked Flush 0 Done Done Sent false 1003 Acked Write 2 Done Done Sent false 1004 Acked Read 5 Done Done Sent false 1005 Acked Write 9 Done Done Sent false 1006 Acked Write 5 Done Done Sent false 1007 Acked Write 7 Done Done Sent false 1008 Acked Flush 0 Done Done Sent false 1009 Acked Write 5 Done Done Sent false 1010 Acked Write 10 Done Done Sent false 1011 Acked Read 1 Done Done Sent false 1012 Acked Write 9 Done Done Sent false 1013 Acked Write 5 Done Done Sent false 1014 Acked Read 2 Done Done Sent false 1015 Acked Read 3 Done Done Sent false 1016 Acked Flush 0 Done Done Sent false 1017 Acked Write 8 Done Done Sent false 1018 Acked Write 10 Done Done Sent false 1019 Acked Read 6 Done Done Sent false 1020 Acked Write 1 Done Done Sent false 1021 Acked Read 9 Done Done Sent false 1022 Acked Read 1 Done Done Sent false 1023 Acked Read 1 Done Done Sent false 1024 Acked Read 9 Done Done Sent false 1025 Acked Read 9 Done Done Sent false 1026 Acked Read 1 Done Done Sent false 1027 Acked Write 2 Done Done Sent false 1028 Acked Read 7 Done Done Sent false 1029 Acked Read 1 Done Done Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 0 0 30 30 Done 30 30 0 60 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1016)) Some(JobId(1016)) None Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:47:43.386145171Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:43.386441493Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1779,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 160 160 156 273 273 266 F F F <--- 1 020-039 160 160 156 273 273 266 F F F <--- 2 040-059 160 160 159 273 273 271 F F F <--- 3 060-079 160 160 159 274 274 271 F F F <--- 4 080-099 160 160 158 274 274 270 F F F <--- 5 100-119 158 158 158 268 268 268 F F F 6 120-139 156 156 156 264 264 264 F F F 7 140-159 160 160 151 274 274 259 F F F <--- 8 160-179 160 160 156 274 274 264 T T F <--- 9 180-199 156 156 156 264 264 264 F F F 10 200-219 146 146 146 246 246 246 T T F <--- 11 220-239 138 138 138 232 232 232 F F F 12 240-259 159 159 159 271 271 271 F F F 13 260-279 159 159 159 271 271 271 F F F 14 280-299 160 160 159 273 273 271 F F F <--- 15 300-319 155 155 155 263 263 263 F F F 16 320-339 158 158 158 268 268 268 T T F <--- 17 340-359 160 160 156 272 272 264 F F F <--- 18 360-379 158 158 158 269 269 269 F F F 19 380-399 158 158 158 268 268 268 F F F 20 400-419 159 159 159 271 271 271 F F F 21 420-439 159 159 159 271 271 271 F F F 22 440-459 159 159 159 271 271 271 F F F 23 460-479 155 155 155 263 263 263 T T F <--- 24 480-499 159 159 159 271 271 271 F F F 25 500-519 157 157 157 267 267 267 F F F 26 520-539 160 160 154 272 272 262 F F F <--- 27 540-559 156 156 156 264 264 264 F F F 28 560-579 160 160 158 274 274 268 F F F <--- 29 580-599 154 154 154 262 262 262 F F F Max gen: 160, Max flush: 274 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 80 Verifying data now No change after verify Loop: 80 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 160 160 160 273 273 273 F F F 1 020-039 160 160 160 273 273 273 F F F 2 040-059 160 160 160 273 273 273 F F F 3 060-079 160 160 160 274 274 274 F F F 4 080-099 160 160 160 274 274 274 F F F 5 100-119 158 158 158 268 268 268 F F F 6 120-139 156 156 156 264 264 264 F F F 7 140-159 160 160 160 274 274 274 F F F 8 160-179 161 161 161 275 275 275 F F F 9 180-199 156 156 156 264 264 264 F F F 10 200-219 161 161 161 275 275 275 F F F 11 220-239 138 138 138 232 232 232 F F F 12 240-259 159 159 159 271 271 271 F F F 13 260-279 159 159 159 271 271 271 F F F 14 280-299 160 160 160 273 273 273 F F F 15 300-319 155 155 155 263 263 263 F F F 16 320-339 161 161 161 275 275 275 F F F 17 340-359 160 160 160 272 272 272 F F F 18 360-379 158 158 158 269 269 269 F F F 19 380-399 158 158 158 268 268 268 F F F 20 400-419 159 159 159 271 271 271 F F F 21 420-439 159 159 159 271 271 271 F F F 22 440-459 159 159 159 271 271 271 F F F 23 460-479 161 161 161 275 275 275 F F F 24 480-499 159 159 159 271 271 271 F F F 25 500-519 157 157 157 267 267 267 F F F 26 520-539 160 160 160 272 272 272 F F F 27 540-559 156 156 156 264 264 264 F F F 28 560-579 160 160 160 274 274 274 F F F 29 580-599 154 154 154 262 262 262 F F F Max gen: 161, Max flush: 275 Begin loop 81 Downstairs to restart: 1 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.63334014Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.641490654Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.641812383Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.641843479Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.641852268Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.641864186Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787} {"msg":"Crucible 2181d411-ed37-49f2-a47c-999876861e9e has session id: 2d6d313d-22f6-420c-9046-a798f550206b","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.642215461Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"Upstairs opts: Upstairs UUID: 2181d411-ed37-49f2-a47c-999876861e9e, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.642244698Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"Crucible stats registered with UUID: 2181d411-ed37-49f2-a47c-999876861e9e","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.642255936Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:47:47.642267595Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.642414206Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"":"io task","client":"2","":"downstairs","session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.642443632Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"":"io task","client":"0","":"downstairs","session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.642454691Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"":"io task","client":"1","":"downstairs","session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.642564177Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"task":"crutest"} {"msg":"The guest has requested activation with gen:162","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.642606301Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787} {"msg":"2181d411-ed37-49f2-a47c-999876861e9e active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.64261522Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.642624509Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"client":"0","":"downstairs","session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.642634578Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"client":"1","":"downstairs","session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.642644456Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"client":"2","":"downstairs","session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.642654215Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"":"io task","client":"2","":"downstairs","session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.642664374Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"":"io task","client":"0","":"downstairs","session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.642674512Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"":"io task","client":"1","":"downstairs","session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"ds_connection connected from Ok(127.0.0.1:49537)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.642752722Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"":"io task","client":"1","":"downstairs","session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"ds_connection connected from Ok(127.0.0.1:35108)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.642800456Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"":"io task","client":"0","":"downstairs","session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"ds_connection connected from Ok(127.0.0.1:53512)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.642817834Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"":"io task","client":"2","":"downstairs","session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.643468121Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"client":"2","":"downstairs","session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.643513665Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"client":"1","":"downstairs","session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.643534662Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"client":"0","":"downstairs","session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.643768922Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.643803398Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"[0]R flush_numbers[0..12]: [273, 273, 273, 274, 274, 268, 264, 274, 275, 264, 275, 232]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.643891306Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"":"downstairs","":"downstairs","session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"[0]R generation[0..12]: [160, 160, 160, 160, 160, 158, 156, 160, 161, 156, 161, 138]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.643902805Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"":"downstairs","":"downstairs","session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.643914074Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"":"downstairs","":"downstairs","session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"[1]R flush_numbers[0..12]: [273, 273, 273, 274, 274, 268, 264, 274, 275, 264, 275, 232]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.643924902Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"":"downstairs","":"downstairs","session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"[1]R generation[0..12]: [160, 160, 160, 160, 160, 158, 156, 160, 161, 156, 161, 138]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.643935621Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"":"downstairs","":"downstairs","session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.643946669Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"":"downstairs","":"downstairs","session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"[2]R flush_numbers[0..12]: [273, 273, 273, 274, 274, 268, 264, 274, 275, 264, 275, 232]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.643957328Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"":"downstairs","":"downstairs","session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"[2]R generation[0..12]: [160, 160, 160, 160, 160, 158, 156, 160, 161, 156, 161, 138]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.643967997Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"":"downstairs","":"downstairs","session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.643978985Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"":"downstairs","":"downstairs","session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"Max found gen is 162","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.643989944Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"":"downstairs","":"downstairs","session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"Generation requested: 162 >= found:162","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.643999983Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"":"downstairs","":"downstairs","session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"Next flush: 276","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.644009521Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"":"downstairs","":"downstairs","session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.6440191Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"":"downstairs","":"downstairs","session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.644029399Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.644038528Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"client":"0","":"downstairs","session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.644048266Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"client":"1","":"downstairs","session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.644058075Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"client":"2","":"downstairs","session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.644068164Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.644077403Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"2181d411-ed37-49f2-a47c-999876861e9e is now active with session: 2d6d313d-22f6-420c-9046-a798f550206b","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.644087451Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.64409641Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"session_id":"2d6d313d-22f6-420c-9046-a798f550206b"} {"msg":"The guest has finished waiting for activation with:162","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.644106229Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787} {"msg":"Activated sub_volume 2181d411-ed37-49f2-a47c-999876861e9e","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.644114558Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.644122837Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.644474162Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"task":"crutest"} 01/30 Write block 184 len 24576 data: 14 13 14 12 12 14 02/30 Read block 580 len 12288 03/30 Write block 296 len 8192 data: 22 25 04/30 Read block 567 len 40960 05/30 Read block 277 len 12288 06/30 Read block 306 len 36864 07/30 Read block 364 len 36864 08/30 Read block 261 len 32768 09/30 Read block 374 len 4096 10/30 Read block 244 len 20480 11/30 Read block 521 len 32768 12/30 Write block 59 len 36864 data: 17 16 15 15 14 13 14 12 8 13/30 Write block 162 len 36864 data: 10 10 13 13 13 13 12 11 12 14/30 Read block 109 len 36864 15/30 Write block 310 len 36864 data: 10 10 11 13 8 6 6 9 11 16/30 Read block 544 len 28672 17/30 Write block 497 len 16384 data: 10 11 13 12 18/30 Write block 222 len 28672 data: 14 15 17 15 15 13 13 19/30 Write block 207 len 16384 data: 15 16 14 15 20/30 Write block 164 len 8192 data: 14 14 21/30 Write block 564 len 40960 data: 11 13 12 11 13 15 15 13 17 18 22/30 Flush 23/30 Write block 397 len 8192 data: 15 17 24/30 Write block 400 len 16384 data: 18 16 18 19 25/30 Read block 463 len 24576 26/30 Read block 499 len 16384 27/30 Read block 320 len 32768 28/30 Write block 364 len 12288 data: 12 14 12 29/30 Write block 144 len 20480 data: 11 13 16 17 14 30/30 Write block 29 len 4096 data: 13 ---------------------------------------------------------------- Crucible gen:162 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 6 Done Done Done false 1001 Acked Read 3 Done Done Done false 1002 Acked Write 2 Done Done Done false 1003 Acked Read 10 Done Done Done false 1004 Acked Read 3 Done Done Done false 1005 Acked Read 9 Done Done Done false 1006 Acked Read 9 Done Done Done false 1007 Acked Read 8 Done Done Done false 1008 Acked Read 1 Done Done Done false 1009 Acked Read 5 Done Done Done false 1010 Acked Read 8 Done Done Done false 1011 Acked Write 9 Done Done Done false 1012 Acked Write 9 Done Sent Done false 1013 Acked Read 9 Done Sent Done false 1014 Acked Write 9 Done Sent Done false 1015 Acked Read 7 Done Sent Done false 1016 Acked Write 4 Done Sent Done false 1017 Acked Write 7 Done Sent Done false 1018 Acked Write 4 Done Sent Done false 1019 Acked Write 2 Done Sent Done false 1020 Acked Write 10 Done Sent Done false 1021 Acked Flush 0 Done Sent Done false 1022 Acked Write 2 Done Sent Done false 1023 Acked Write 4 Done Sent Done false 1024 Acked Read 6 Done Sent Done false 1025 Acked Read 4 Done Sent Done false 1026 Acked Read 8 Done Sent Done false 1027 Acked Write 3 Sent Sent Sent false 1028 Acked Write 5 Sent Sent Sent false 1029 Acked Write 1 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 3 18 3 24 Done 27 12 27 66 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1021)) None Some(JobId(1021)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:47:47.652349992Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:47.652640324Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1787,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 160 160 160 273 273 273 F F F 1 020-039 160 160 160 273 273 273 T F T <--- 2 040-059 162 160 162 276 273 276 F T F <--- 3 060-079 162 160 162 276 274 276 F T F <--- 4 080-099 160 160 160 274 274 274 F F F 5 100-119 158 158 158 268 268 268 F F F 6 120-139 156 156 156 264 264 264 F F F 7 140-159 160 160 160 274 274 274 T F T <--- 8 160-179 162 161 162 276 275 276 F F F <--- 9 180-199 162 156 162 276 264 276 F T F <--- 10 200-219 162 161 162 276 275 276 F F F <--- 11 220-239 162 138 162 276 232 276 F F F <--- 12 240-259 159 159 159 271 271 271 F F F 13 260-279 159 159 159 271 271 271 F F F 14 280-299 162 160 162 276 273 276 F T F <--- 15 300-319 162 155 162 276 263 276 F F F <--- 16 320-339 161 161 161 275 275 275 F F F 17 340-359 160 160 160 272 272 272 F F F 18 360-379 158 158 158 269 269 269 T F T <--- 19 380-399 158 158 158 268 268 268 T F T <--- 20 400-419 159 159 159 271 271 271 T F T <--- 21 420-439 159 159 159 271 271 271 F F F 22 440-459 159 159 159 271 271 271 F F F 23 460-479 161 161 161 275 275 275 F F F 24 480-499 162 159 162 276 271 276 F F F <--- 25 500-519 162 157 162 276 267 276 F F F <--- 26 520-539 160 160 160 272 272 272 F F F 27 540-559 156 156 156 264 264 264 F F F 28 560-579 162 160 162 276 274 276 F F F <--- 29 580-599 154 154 154 262 262 262 F F F Max gen: 162, Max flush: 276 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 81 Verifying data now No change after verify Loop: 81 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 160 160 160 273 273 273 F F F 1 020-039 163 163 163 277 277 277 F F F 2 040-059 162 162 162 276 276 276 F F F 3 060-079 162 162 162 276 276 276 F F F 4 080-099 160 160 160 274 274 274 F F F 5 100-119 158 158 158 268 268 268 F F F 6 120-139 156 156 156 264 264 264 F F F 7 140-159 163 163 163 277 277 277 F F F 8 160-179 162 162 162 276 276 276 F F F 9 180-199 162 162 162 276 276 276 F F F 10 200-219 162 162 162 276 276 276 F F F 11 220-239 162 162 162 276 276 276 F F F 12 240-259 159 159 159 271 271 271 F F F 13 260-279 159 159 159 271 271 271 F F F 14 280-299 162 162 162 276 276 276 F F F 15 300-319 162 162 162 276 276 276 F F F 16 320-339 161 161 161 275 275 275 F F F 17 340-359 160 160 160 272 272 272 F F F 18 360-379 163 163 163 277 277 277 F F F 19 380-399 163 163 163 277 277 277 F F F 20 400-419 163 163 163 277 277 277 F F F 21 420-439 159 159 159 271 271 271 F F F 22 440-459 159 159 159 271 271 271 F F F 23 460-479 161 161 161 275 275 275 F F F 24 480-499 162 162 162 276 276 276 F F F 25 500-519 162 162 162 276 276 276 F F F 26 520-539 160 160 160 272 272 272 F F F 27 540-559 156 156 156 264 264 264 F F F 28 560-579 162 162 162 276 276 276 F F F 29 580-599 154 154 154 262 262 262 F F F Max gen: 163, Max flush: 277 Begin loop 82 Downstairs to restart: 0 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.9041378Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"task":"crutest"} {"msg":"Failed to get info from \"http://127.0.0.1:12810\" Communication Error: error sending request for url (http://127.0.0.1:12810/region-info)","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:47:51.911286503Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"task":"crutest"} {"msg":"look at: http://127.0.0.1:12820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.911358944Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008820, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.918392852Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.918661257Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.918692304Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.918701072Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.918712541Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795} {"msg":"Crucible 4379ab80-5e45-47eb-8977-a2f61e992760 has session id: d013d6a1-9f78-4c4f-a6ea-65b922cadb49","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.919091072Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"Upstairs opts: Upstairs UUID: 4379ab80-5e45-47eb-8977-a2f61e992760, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.919120389Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"Crucible stats registered with UUID: 4379ab80-5e45-47eb-8977-a2f61e992760","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.919131737Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:47:51.919141216Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.919293336Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"":"io task","client":"2","":"downstairs","session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.919309364Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"":"io task","client":"1","":"downstairs","session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.919319953Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"":"io task","client":"0","":"downstairs","session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.919447457Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"task":"crutest"} {"msg":"The guest has requested activation with gen:164","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.919471404Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795} {"msg":"4379ab80-5e45-47eb-8977-a2f61e992760 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.9194956Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.919505449Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"client":"0","":"downstairs","session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.919515388Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"client":"1","":"downstairs","session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.919525157Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"client":"2","":"downstairs","session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.919535045Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"":"io task","client":"2","":"downstairs","session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.919545264Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"":"io task","client":"0","":"downstairs","session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.919557263Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"":"io task","client":"1","":"downstairs","session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"ds_connection connected from Ok(127.0.0.1:65014)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.919618645Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"":"io task","client":"1","":"downstairs","session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"ds_connection connected from Ok(127.0.0.1:35656)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.919634913Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"":"io task","client":"0","":"downstairs","session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"ds_connection connected from Ok(127.0.0.1:58090)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.919645401Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"":"io task","client":"2","":"downstairs","session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.920342872Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"client":"1","":"downstairs","session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.920369038Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"client":"0","":"downstairs","session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.920380887Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"client":"2","":"downstairs","session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.920710295Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.92075077Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"[0]R flush_numbers[0..12]: [273, 277, 276, 276, 274, 268, 264, 277, 276, 276, 276, 276]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.920805483Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"":"downstairs","":"downstairs","session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"[0]R generation[0..12]: [160, 163, 162, 162, 160, 158, 156, 163, 162, 162, 162, 162]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.920817081Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"":"downstairs","":"downstairs","session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.92082832Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"":"downstairs","":"downstairs","session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"[1]R flush_numbers[0..12]: [273, 277, 276, 276, 274, 268, 264, 277, 276, 276, 276, 276]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.920839058Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"":"downstairs","":"downstairs","session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"[1]R generation[0..12]: [160, 163, 162, 162, 160, 158, 156, 163, 162, 162, 162, 162]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.920849847Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"":"downstairs","":"downstairs","session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.920862765Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"":"downstairs","":"downstairs","session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"[2]R flush_numbers[0..12]: [273, 277, 276, 276, 274, 268, 264, 277, 276, 276, 276, 276]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.920873564Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"":"downstairs","":"downstairs","session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"[2]R generation[0..12]: [160, 163, 162, 162, 160, 158, 156, 163, 162, 162, 162, 162]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.920884362Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"":"downstairs","":"downstairs","session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.920895491Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"":"downstairs","":"downstairs","session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"Max found gen is 164","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.92090511Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"":"downstairs","":"downstairs","session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"Generation requested: 164 >= found:164","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.920915058Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"":"downstairs","":"downstairs","session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"Next flush: 278","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.920924707Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"":"downstairs","":"downstairs","session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.920934116Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"":"downstairs","":"downstairs","session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.920943865Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.920952804Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"client":"0","":"downstairs","session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.920962622Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"client":"1","":"downstairs","session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.920972591Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"client":"2","":"downstairs","session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.92098255Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.920991829Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"4379ab80-5e45-47eb-8977-a2f61e992760 is now active with session: d013d6a1-9f78-4c4f-a6ea-65b922cadb49","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.921001927Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.921012096Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"session_id":"d013d6a1-9f78-4c4f-a6ea-65b922cadb49"} {"msg":"The guest has finished waiting for activation with:164","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.921021335Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795} {"msg":"Activated sub_volume 4379ab80-5e45-47eb-8977-a2f61e992760","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.921029524Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.921037723Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.92136835Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"task":"crutest"} 01/30 Write block 370 len 24576 data: 10 15 19 18 20 17 02/30 Write block 583 len 4096 data: 15 03/30 Write block 366 len 36864 data: 13 12 10 10 11 16 20 19 21 04/30 Read block 333 len 20480 05/30 Write block 311 len 16384 data: 11 12 14 9 06/30 Read block 202 len 4096 07/30 Write block 138 len 20480 data: 9 12 15 14 11 08/30 Write block 218 len 8192 data: 12 10 09/30 Read block 462 len 36864 10/30 Write block 509 len 28672 data: 13 13 15 14 12 15 12 11/30 Write block 450 len 4096 data: 12 12/30 Flush 13/30 Flush 14/30 Write block 296 len 16384 data: 23 26 25 22 15/30 Read block 389 len 24576 16/30 Write block 501 len 12288 data: 14 14 14 17/30 Flush 18/30 Write block 422 len 36864 data: 13 18 16 11 12 13 12 11 14 19/30 Write block 232 len 40960 data: 8 8 10 13 12 13 10 11 14 11 20/30 Write block 122 len 8192 data: 10 10 21/30 Read block 19 len 12288 22/30 Write block 415 len 12288 data: 15 15 14 23/30 Write block 470 len 36864 data: 14 16 18 19 17 16 18 17 14 24/30 Read block 543 len 8192 25/30 Read block 497 len 40960 26/30 Read block 107 len 4096 27/30 Write block 506 len 32768 data: 10 13 13 14 14 16 15 13 28/30 Write block 513 len 4096 data: 14 29/30 Write block 363 len 4096 data: 14 30/30 Write block 584 len 4096 data: 13 ---------------------------------------------------------------- Crucible gen:164 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 6 Done Done Done false 1001 Acked Write 1 Done Done Done false 1002 Acked Write 9 Done Done Done false 1003 Acked Read 5 Sent Done Done false 1004 Acked Write 4 Sent Done Done false 1005 Acked Read 1 Sent Done Done false 1006 Acked Write 5 Sent Done Done false 1007 Acked Write 2 Sent Done Done false 1008 Acked Read 9 Sent Done Done false 1009 Acked Write 7 Sent Done Done false 1010 Acked Write 1 Sent Done Done false 1011 Acked Flush 0 Sent Done Done false 1012 Acked Flush 0 Sent Done Done false 1013 Acked Write 4 Sent Done Done false 1014 Acked Read 6 Sent Done Done false 1015 Acked Write 3 Sent Done Done false 1016 Acked Flush 0 Sent Done Done false 1017 Acked Write 9 Sent Done Done false 1018 Acked Write 10 Sent Done Done false 1019 Acked Write 2 Sent Done Done false 1020 Acked Read 3 Sent Done Done false 1021 Acked Write 3 Sent Done Done false 1022 Acked Write 9 Sent Done Done false 1023 Acked Read 2 Sent Done Done false 1024 Acked Read 10 Sent Done Done false 1025 Acked Read 1 Sent Done Done false 1026 Acked Write 8 Sent Sent Sent false 1027 Acked Write 1 Sent Sent Sent false 1028 Acked Write 1 Sent Sent Sent false 1029 Acked Write 1 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 27 4 4 35 Done 3 26 26 55 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: None Some(JobId(1016)) Some(JobId(1016)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:47:51.928671114Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:51.928965196Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1795,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 160 160 160 273 273 273 F F F 1 020-039 163 163 163 277 277 277 F F F 2 040-059 162 162 162 276 276 276 F F F 3 060-079 162 162 162 276 276 276 F F F 4 080-099 160 160 160 274 274 274 F F F 5 100-119 158 158 158 268 268 268 F F F 6 120-139 156 164 164 264 278 278 F T T <--- 7 140-159 163 164 164 277 278 278 F F F <--- 8 160-179 162 162 162 276 276 276 F F F 9 180-199 162 162 162 276 276 276 F F F 10 200-219 162 164 164 276 278 278 F F F <--- 11 220-239 162 162 162 276 276 276 F T T <--- 12 240-259 159 159 159 271 271 271 F T T <--- 13 260-279 159 159 159 271 271 271 F F F 14 280-299 162 164 164 276 280 280 F F F <--- 15 300-319 162 164 164 276 278 278 F F F <--- 16 320-339 161 161 161 275 275 275 F F F 17 340-359 160 160 160 272 272 272 F F F 18 360-379 163 164 164 277 278 278 T T T <--- 19 380-399 163 163 163 277 277 277 F F F 20 400-419 163 163 163 277 277 277 F T T <--- 21 420-439 159 159 159 271 271 271 F T T <--- 22 440-459 159 164 164 271 278 278 F F F <--- 23 460-479 161 161 161 275 275 275 F T T <--- 24 480-499 162 162 162 276 276 276 F F F 25 500-519 162 164 164 276 280 280 F T T <--- 26 520-539 160 160 160 272 272 272 F F F 27 540-559 156 156 156 264 264 264 F F F 28 560-579 162 162 162 276 276 276 F F F 29 580-599 154 164 164 262 278 278 T T T <--- Max gen: 164, Max flush: 280 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 82 Verifying data now No change after verify Loop: 82 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 160 160 160 273 273 273 F F F 1 020-039 163 163 163 277 277 277 F F F 2 040-059 162 162 162 276 276 276 F F F 3 060-079 162 162 162 276 276 276 F F F 4 080-099 160 160 160 274 274 274 F F F 5 100-119 158 158 158 268 268 268 F F F 6 120-139 165 165 165 281 281 281 F F F 7 140-159 164 164 164 278 278 278 F F F 8 160-179 162 162 162 276 276 276 F F F 9 180-199 162 162 162 276 276 276 F F F 10 200-219 164 164 164 278 278 278 F F F 11 220-239 165 165 165 281 281 281 F F F 12 240-259 165 165 165 281 281 281 F F F 13 260-279 159 159 159 271 271 271 F F F 14 280-299 164 164 164 280 280 280 F F F 15 300-319 164 164 164 278 278 278 F F F 16 320-339 161 161 161 275 275 275 F F F 17 340-359 160 160 160 272 272 272 F F F 18 360-379 165 165 165 281 281 281 F F F 19 380-399 163 163 163 277 277 277 F F F 20 400-419 165 165 165 281 281 281 F F F 21 420-439 165 165 165 281 281 281 F F F 22 440-459 164 164 164 278 278 278 F F F 23 460-479 165 165 165 281 281 281 F F F 24 480-499 162 162 162 276 276 276 F F F 25 500-519 165 165 165 281 281 281 F F F 26 520-539 160 160 160 272 272 272 F F F 27 540-559 156 156 156 264 264 264 F F F 28 560-579 162 162 162 276 276 276 F F F 29 580-599 165 165 165 281 281 281 F F F Max gen: 165, Max flush: 281 Begin loop 83 Downstairs to restart: 0 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.182302487Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"task":"crutest"} {"msg":"Failed to get info from \"http://127.0.0.1:12810\" Communication Error: error sending request for url (http://127.0.0.1:12810/region-info)","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:47:56.18944952Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"task":"crutest"} {"msg":"look at: http://127.0.0.1:12820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.189523111Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008820, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.196343036Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.196611622Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.196646897Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.196656036Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.196667894Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803} {"msg":"Crucible fee0b1d8-2a7f-4ec2-b392-ee64dce352d4 has session id: d714da4c-504b-4985-9ae1-6aee06074f8c","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.197036017Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"Upstairs opts: Upstairs UUID: fee0b1d8-2a7f-4ec2-b392-ee64dce352d4, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.197061164Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"Crucible stats registered with UUID: fee0b1d8-2a7f-4ec2-b392-ee64dce352d4","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.197071703Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:47:56.197081681Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.197254439Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"":"io task","client":"1","":"downstairs","session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.197282096Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"":"io task","client":"0","":"downstairs","session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.197293044Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"":"io task","client":"2","":"downstairs","session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.197473191Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"task":"crutest"} {"msg":"The guest has requested activation with gen:166","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.197501198Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803} {"msg":"fee0b1d8-2a7f-4ec2-b392-ee64dce352d4 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.197513476Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.197524175Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"client":"0","":"downstairs","session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.197534113Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"client":"1","":"downstairs","session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.197543982Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"client":"2","":"downstairs","session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.197553731Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"":"io task","client":"2","":"downstairs","session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.19756404Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"":"io task","client":"0","":"downstairs","session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.197574338Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"":"io task","client":"1","":"downstairs","session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"ds_connection connected from Ok(127.0.0.1:59788)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.197608354Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"":"io task","client":"2","":"downstairs","session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"ds_connection connected from Ok(127.0.0.1:47624)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.197619632Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"":"io task","client":"1","":"downstairs","session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"ds_connection connected from Ok(127.0.0.1:61657)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.197659627Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"":"io task","client":"0","":"downstairs","session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.198226865Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"client":"1","":"downstairs","session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.198250392Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"client":"2","":"downstairs","session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.1982656Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"client":"0","":"downstairs","session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.198569541Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.198584929Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"[0]R flush_numbers[0..12]: [273, 277, 276, 276, 274, 268, 281, 278, 276, 276, 278, 281]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.198603676Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"":"downstairs","":"downstairs","session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"[0]R generation[0..12]: [160, 163, 162, 162, 160, 158, 165, 164, 162, 162, 164, 165]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.198617104Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"":"downstairs","":"downstairs","session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.198628373Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"":"downstairs","":"downstairs","session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"[1]R flush_numbers[0..12]: [273, 277, 276, 276, 274, 268, 281, 278, 276, 276, 278, 281]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.198639142Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"":"downstairs","":"downstairs","session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"[1]R generation[0..12]: [160, 163, 162, 162, 160, 158, 165, 164, 162, 162, 164, 165]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.1986499Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"":"downstairs","":"downstairs","session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.198661109Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"":"downstairs","":"downstairs","session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"[2]R flush_numbers[0..12]: [273, 277, 276, 276, 274, 268, 281, 278, 276, 276, 278, 281]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.198671917Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"":"downstairs","":"downstairs","session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"[2]R generation[0..12]: [160, 163, 162, 162, 160, 158, 165, 164, 162, 162, 164, 165]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.198682506Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"":"downstairs","":"downstairs","session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.198693465Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"":"downstairs","":"downstairs","session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"Max found gen is 166","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.198703093Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"":"downstairs","":"downstairs","session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"Generation requested: 166 >= found:166","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.198712982Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"":"downstairs","":"downstairs","session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"Next flush: 282","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.198722491Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"":"downstairs","":"downstairs","session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.1987321Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"":"downstairs","":"downstairs","session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.198741938Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.198751027Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"client":"0","":"downstairs","session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.198762106Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"client":"1","":"downstairs","session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.198772215Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"client":"2","":"downstairs","session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.198782463Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.198791772Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"fee0b1d8-2a7f-4ec2-b392-ee64dce352d4 is now active with session: d714da4c-504b-4985-9ae1-6aee06074f8c","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.198801811Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.19881088Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"session_id":"d714da4c-504b-4985-9ae1-6aee06074f8c"} {"msg":"The guest has finished waiting for activation with:166","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.198820418Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803} {"msg":"Activated sub_volume fee0b1d8-2a7f-4ec2-b392-ee64dce352d4","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.198828677Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.198836946Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.199177863Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"task":"crutest"} 01/30 Write block 336 len 16384 data: 13 16 19 21 02/30 Read block 400 len 24576 03/30 Write block 441 len 24576 data: 13 12 15 17 14 14 04/30 Write block 200 len 40960 data: 8 8 9 11 9 11 13 16 17 15 05/30 Read block 103 len 32768 06/30 Write block 239 len 16384 data: 12 15 12 12 07/30 Read block 172 len 24576 08/30 Write block 354 len 16384 data: 14 15 14 14 09/30 Write block 136 len 12288 data: 9 10 10 10/30 Read block 442 len 12288 11/30 Flush 12/30 Write block 46 len 8192 data: 10 11 13/30 Read block 3 len 28672 14/30 Read block 137 len 8192 15/30 Write block 258 len 20480 data: 10 11 12 12 10 16/30 Write block 3 len 4096 data: 7 17/30 Read block 176 len 12288 18/30 Flush 19/30 Write block 488 len 20480 data: 9 10 11 8 8 20/30 Read block 31 len 8192 21/30 Read block 481 len 20480 22/30 Read block 225 len 24576 23/30 Read block 536 len 24576 24/30 Read block 186 len 40960 25/30 Flush 26/30 Write block 150 len 40960 data: 14 11 9 8 10 11 10 9 10 11 27/30 Write block 441 len 32768 data: 14 13 16 18 15 15 12 12 28/30 Read block 361 len 12288 29/30 Read block 201 len 8192 30/30 Write block 484 len 32768 data: 10 9 11 10 10 11 12 9 ---------------------------------------------------------------- Crucible gen:166 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 4 Done Done Done false 1001 Acked Read 6 Done Done Done false 1002 Acked Write 6 Done Done Done false 1003 Acked Write 10 Done Done Done false 1004 Acked Read 8 Done Done Done false 1005 Acked Write 4 Done Done Done false 1006 Acked Read 6 Done Done Done false 1007 Acked Write 4 Sent Done Done false 1008 Acked Write 3 Sent Done Done false 1009 Acked Read 3 Sent Done Done false 1010 Acked Flush 0 Sent Done Done false 1011 Acked Write 2 Sent Done Done false 1012 Acked Read 7 Sent Done Done false 1013 Acked Read 2 Sent Done Done false 1014 Acked Write 5 Sent Done Done false 1015 Acked Write 1 Sent Done Done false 1016 Acked Read 3 Sent Done Done false 1017 Acked Flush 0 Sent Done Done false 1018 Acked Write 5 Sent Done Done false 1019 Acked Read 2 Sent Done Done false 1020 Acked Read 5 Sent Done Done false 1021 Acked Read 6 Sent Done Done false 1022 Acked Read 6 Sent Done Done false 1023 Acked Read 10 Sent Done Done false 1024 Acked Flush 0 Sent Done Done false 1025 Acked Write 10 Sent Done Done false 1026 Acked Write 8 Sent Done Done false 1027 Acked Read 3 Sent Done Done false 1028 Acked Read 2 Sent Done Done false 1029 Acked Write 8 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 23 1 1 25 Done 7 29 29 65 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: None Some(JobId(1024)) Some(JobId(1024)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:47:56.207131223Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:47:56.207411157Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1803,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 160 166 166 273 283 283 F F F <--- 1 020-039 163 163 163 277 277 277 F F F 2 040-059 162 166 166 276 283 283 F F F <--- 3 060-079 162 162 162 276 276 276 F F F 4 080-099 160 160 160 274 274 274 F F F 5 100-119 158 158 158 268 268 268 F F F 6 120-139 165 166 166 281 282 282 F F F <--- 7 140-159 164 164 164 278 278 278 F T T <--- 8 160-179 162 162 162 276 276 276 F F F 9 180-199 162 162 162 276 276 276 F F F 10 200-219 164 166 166 278 282 282 T F F <--- 11 220-239 165 166 166 281 282 282 T F F <--- 12 240-259 165 166 166 281 283 283 T F F <--- 13 260-279 159 166 166 271 283 283 F F F <--- 14 280-299 164 164 164 280 280 280 F F F 15 300-319 164 164 164 278 278 278 F F F 16 320-339 161 166 166 275 282 282 T F F <--- 17 340-359 160 166 166 272 282 282 F F F <--- 18 360-379 165 165 165 281 281 281 F F F 19 380-399 163 163 163 277 277 277 F F F 20 400-419 165 165 165 281 281 281 F F F 21 420-439 165 165 165 281 281 281 F F F 22 440-459 164 166 166 278 282 282 T T T <--- 23 460-479 165 165 165 281 281 281 F F F 24 480-499 162 166 166 276 284 284 F T T <--- 25 500-519 165 165 165 281 281 281 F F F 26 520-539 160 160 160 272 272 272 F F F 27 540-559 156 156 156 264 264 264 F F F 28 560-579 162 162 162 276 276 276 F F F 29 580-599 165 165 165 281 281 281 F F F Max gen: 166, Max flush: 284 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 83 Verifying data now No change after verify Loop: 83 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 166 166 166 283 283 283 F F F 1 020-039 163 163 163 277 277 277 F F F 2 040-059 166 166 166 283 283 283 F F F 3 060-079 162 162 162 276 276 276 F F F 4 080-099 160 160 160 274 274 274 F F F 5 100-119 158 158 158 268 268 268 F F F 6 120-139 166 166 166 282 282 282 F F F 7 140-159 167 167 167 285 285 285 F F F 8 160-179 162 162 162 276 276 276 F F F 9 180-199 162 162 162 276 276 276 F F F 10 200-219 166 166 166 282 282 282 F F F 11 220-239 166 166 166 282 282 282 F F F 12 240-259 166 166 166 283 283 283 F F F 13 260-279 166 166 166 283 283 283 F F F 14 280-299 164 164 164 280 280 280 F F F 15 300-319 164 164 164 278 278 278 F F F 16 320-339 166 166 166 282 282 282 F F F 17 340-359 166 166 166 282 282 282 F F F 18 360-379 165 165 165 281 281 281 F F F 19 380-399 163 163 163 277 277 277 F F F 20 400-419 165 165 165 281 281 281 F F F 21 420-439 165 165 165 281 281 281 F F F 22 440-459 167 167 167 285 285 285 F F F 23 460-479 165 165 165 281 281 281 F F F 24 480-499 167 167 167 285 285 285 F F F 25 500-519 165 165 165 281 281 281 F F F 26 520-539 160 160 160 272 272 272 F F F 27 540-559 156 156 156 264 264 264 F F F 28 560-579 162 162 162 276 276 276 F F F 29 580-599 165 165 165 281 281 281 F F F Max gen: 167, Max flush: 285 Begin loop 84 Downstairs to restart: 2 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.45463389Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.463011126Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.463316347Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.463354492Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.463363831Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.463375749Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811} {"msg":"Crucible ce525cc1-6836-48b9-a2e8-401625000dc8 has session id: 1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.463747912Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"Upstairs opts: Upstairs UUID: ce525cc1-6836-48b9-a2e8-401625000dc8, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.463772369Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"Crucible stats registered with UUID: ce525cc1-6836-48b9-a2e8-401625000dc8","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.463782987Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:48:00.463793336Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.463963134Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"":"io task","client":"2","":"downstairs","session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.463978472Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"":"io task","client":"0","":"downstairs","session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.463988921Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"":"io task","client":"1","":"downstairs","session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.464093157Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"task":"crutest"} {"msg":"The guest has requested activation with gen:168","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.464120914Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811} {"msg":"ce525cc1-6836-48b9-a2e8-401625000dc8 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.464144941Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.46415454Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"client":"0","":"downstairs","session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.464164908Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"client":"1","":"downstairs","session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.464174967Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"client":"2","":"downstairs","session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.464184716Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"":"io task","client":"2","":"downstairs","session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.464198574Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"":"io task","client":"1","":"downstairs","session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"ds_connection connected from Ok(127.0.0.1:46982)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.464241418Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"":"io task","client":"2","":"downstairs","session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.464252227Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"":"io task","client":"0","":"downstairs","session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"ds_connection connected from Ok(127.0.0.1:45848)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.464284593Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"":"io task","client":"1","":"downstairs","session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"ds_connection connected from Ok(127.0.0.1:52797)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.46430727Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"":"io task","client":"0","":"downstairs","session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.464841361Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"client":"0","":"downstairs","session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.464867498Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"client":"2","":"downstairs","session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.464879327Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"client":"1","":"downstairs","session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.465169949Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.465179858Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"[0]R flush_numbers[0..12]: [283, 277, 283, 276, 274, 268, 282, 285, 276, 276, 282, 282]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.465198336Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"":"downstairs","":"downstairs","session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"[0]R generation[0..12]: [166, 163, 166, 162, 160, 158, 166, 167, 162, 162, 166, 166]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.465209294Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"":"downstairs","":"downstairs","session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.465220383Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"":"downstairs","":"downstairs","session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"[1]R flush_numbers[0..12]: [283, 277, 283, 276, 274, 268, 282, 285, 276, 276, 282, 282]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.465231361Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"":"downstairs","":"downstairs","session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"[1]R generation[0..12]: [166, 163, 166, 162, 160, 158, 166, 167, 162, 162, 166, 166]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.46524217Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"":"downstairs","":"downstairs","session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.465253529Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"":"downstairs","":"downstairs","session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"[2]R flush_numbers[0..12]: [283, 277, 283, 276, 274, 268, 282, 285, 276, 276, 282, 282]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.465264367Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"":"downstairs","":"downstairs","session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"[2]R generation[0..12]: [166, 163, 166, 162, 160, 158, 166, 167, 162, 162, 166, 166]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.465275226Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"":"downstairs","":"downstairs","session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.465286204Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"":"downstairs","":"downstairs","session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"Max found gen is 168","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.465295833Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"":"downstairs","":"downstairs","session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"Generation requested: 168 >= found:168","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.465305672Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"":"downstairs","":"downstairs","session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"Next flush: 286","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.465315521Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"":"downstairs","":"downstairs","session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.465326629Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"":"downstairs","":"downstairs","session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.465336538Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.465345487Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"client":"0","":"downstairs","session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.465355346Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"client":"1","":"downstairs","session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.465365364Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"client":"2","":"downstairs","session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.465375363Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.465384662Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"ce525cc1-6836-48b9-a2e8-401625000dc8 is now active with session: 1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.46539485Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.465403949Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"session_id":"1b7ae74e-3f6e-4d98-ab5c-3ad185dc03b8"} {"msg":"The guest has finished waiting for activation with:168","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.465413238Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811} {"msg":"Activated sub_volume ce525cc1-6836-48b9-a2e8-401625000dc8","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.465421557Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.465429946Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.465734087Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"task":"crutest"} 01/30 Write block 581 len 36864 data: 13 14 16 14 12 13 16 18 18 02/30 Read block 118 len 12288 03/30 Write block 429 len 28672 data: 12 15 11 13 13 13 11 04/30 Write block 241 len 4096 data: 13 05/30 Read block 47 len 8192 06/30 Write block 38 len 4096 data: 15 07/30 Read block 325 len 32768 08/30 Read block 130 len 24576 09/30 Read block 179 len 40960 10/30 Read block 46 len 36864 11/30 Write block 161 len 28672 data: 9 11 11 15 15 14 14 12/30 Write block 156 len 4096 data: 11 13/30 Read block 425 len 28672 14/30 Read block 527 len 28672 15/30 Read block 452 len 12288 16/30 Read block 578 len 32768 17/30 Read block 392 len 16384 18/30 Read block 144 len 28672 19/30 Write block 414 len 36864 data: 19 16 16 15 14 15 15 16 14 20/30 Write block 270 len 24576 data: 11 13 12 13 12 14 21/30 Read block 118 len 24576 22/30 Write block 339 len 24576 data: 22 17 18 17 20 18 23/30 Read block 274 len 4096 24/30 Read block 486 len 4096 25/30 Read block 214 len 16384 26/30 Read block 163 len 20480 27/30 Write block 56 len 20480 data: 12 14 16 18 17 28/30 Read block 88 len 8192 29/30 Read block 333 len 32768 30/30 Read block 154 len 4096 ---------------------------------------------------------------- Crucible gen:168 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 9 Done Done Done false 1001 Acked Read 3 Done Done Done false 1002 Acked Write 7 Done Done Done false 1003 Acked Write 1 Done Done Done false 1004 Acked Read 2 Done Done Done false 1005 Acked Write 1 Done Done Done false 1006 Acked Read 8 Done Done Sent false 1007 Acked Read 6 Done Done Sent false 1008 Acked Read 10 Done Done Sent false 1009 Acked Read 9 Done Done Sent false 1010 Acked Write 7 Done Done Sent false 1011 Acked Write 1 Done Done Sent false 1012 Acked Read 7 Done Done Sent false 1013 Acked Read 7 Done Done Sent false 1014 Acked Read 3 Done Done Sent false 1015 Acked Read 8 Done Done Sent false 1016 Acked Read 4 Done Done Sent false 1017 Acked Read 7 Done Done Sent false 1018 Acked Write 9 Done Done Sent false 1019 Acked Write 6 Done Done Sent false 1020 Acked Read 6 Done Done Sent false 1021 Acked Write 6 Done Done Sent false 1022 Acked Read 1 Done Done Sent false 1023 Acked Read 1 Done Done Sent false 1024 Acked Read 4 Done Done Sent false 1025 Acked Read 5 Done Done Sent false 1026 Acked Write 5 Done Done Sent false 1027 Acked Read 2 Done Done Sent false 1028 Acked Read 8 Done Done Sent false 1029 Acked Read 1 Done Done Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 0 0 24 24 Done 30 30 6 66 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: None None None Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:48:00.47397773Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:00.474283741Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1811,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 166 166 166 283 283 283 F F F 1 020-039 163 163 163 277 277 277 T T T 2 040-059 166 166 166 283 283 283 T T F <--- 3 060-079 162 162 162 276 276 276 T T F <--- 4 080-099 160 160 160 274 274 274 F F F 5 100-119 158 158 158 268 268 268 F F F 6 120-139 166 166 166 282 282 282 F F F 7 140-159 167 167 167 285 285 285 T T F <--- 8 160-179 162 162 162 276 276 276 T T F <--- 9 180-199 162 162 162 276 276 276 F F F 10 200-219 166 166 166 282 282 282 F F F 11 220-239 166 166 166 282 282 282 F F F 12 240-259 166 166 166 283 283 283 T T T 13 260-279 166 166 166 283 283 283 T T F <--- 14 280-299 164 164 164 280 280 280 F F F 15 300-319 164 164 164 278 278 278 F F F 16 320-339 166 166 166 282 282 282 T T F <--- 17 340-359 166 166 166 282 282 282 T T F <--- 18 360-379 165 165 165 281 281 281 F F F 19 380-399 163 163 163 277 277 277 F F F 20 400-419 165 165 165 281 281 281 T T F <--- 21 420-439 165 165 165 281 281 281 T T T 22 440-459 167 167 167 285 285 285 F F F 23 460-479 165 165 165 281 281 281 F F F 24 480-499 167 167 167 285 285 285 F F F 25 500-519 165 165 165 281 281 281 F F F 26 520-539 160 160 160 272 272 272 F F F 27 540-559 156 156 156 264 264 264 F F F 28 560-579 162 162 162 276 276 276 F F F 29 580-599 165 165 165 281 281 281 T T T Max gen: 167, Max flush: 285 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 84 Verifying data now No change after verify Loop: 84 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 166 166 166 283 283 283 F F F 1 020-039 168 168 168 286 286 286 F F F 2 040-059 168 168 168 286 286 286 F F F 3 060-079 168 168 168 286 286 286 F F F 4 080-099 160 160 160 274 274 274 F F F 5 100-119 158 158 158 268 268 268 F F F 6 120-139 166 166 166 282 282 282 F F F 7 140-159 168 168 168 286 286 286 F F F 8 160-179 168 168 168 286 286 286 F F F 9 180-199 162 162 162 276 276 276 F F F 10 200-219 166 166 166 282 282 282 F F F 11 220-239 166 166 166 282 282 282 F F F 12 240-259 168 168 168 286 286 286 F F F 13 260-279 168 168 168 286 286 286 F F F 14 280-299 164 164 164 280 280 280 F F F 15 300-319 164 164 164 278 278 278 F F F 16 320-339 168 168 168 286 286 286 F F F 17 340-359 168 168 168 286 286 286 F F F 18 360-379 165 165 165 281 281 281 F F F 19 380-399 163 163 163 277 277 277 F F F 20 400-419 168 168 168 286 286 286 F F F 21 420-439 168 168 168 286 286 286 F F F 22 440-459 167 167 167 285 285 285 F F F 23 460-479 165 165 165 281 281 281 F F F 24 480-499 167 167 167 285 285 285 F F F 25 500-519 165 165 165 281 281 281 F F F 26 520-539 160 160 160 272 272 272 F F F 27 540-559 156 156 156 264 264 264 F F F 28 560-579 162 162 162 276 276 276 F F F 29 580-599 168 168 168 286 286 286 F F F Max gen: 168, Max flush: 286 Begin loop 85 Downstairs to restart: 1 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.714814993Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.722931952Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.723248672Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.723287057Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.723296336Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.723308094Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819} {"msg":"Crucible 1a759eed-c0a3-480f-9b5a-0d0e963838fa has session id: 891f82f7-761a-40a4-8ef2-896838359324","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.723684656Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"Upstairs opts: Upstairs UUID: 1a759eed-c0a3-480f-9b5a-0d0e963838fa, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.723759126Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"Crucible stats registered with UUID: 1a759eed-c0a3-480f-9b5a-0d0e963838fa","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.723775944Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:48:04.723785333Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.723934594Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"":"io task","client":"1","":"downstairs","session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.723950062Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"":"io task","client":"0","":"downstairs","session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.723960511Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"":"io task","client":"2","":"downstairs","session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.724113421Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"task":"crutest"} {"msg":"The guest has requested activation with gen:170","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.724141067Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819} {"msg":"1a759eed-c0a3-480f-9b5a-0d0e963838fa active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.724159955Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.724169044Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"client":"0","":"downstairs","session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.724179002Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"client":"1","":"downstairs","session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.724188761Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"client":"2","":"downstairs","session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.72419859Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"":"io task","client":"2","":"downstairs","session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.724209109Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"":"io task","client":"0","":"downstairs","session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.724219487Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"":"io task","client":"1","":"downstairs","session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"ds_connection connected from Ok(127.0.0.1:55615)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.724262892Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"":"io task","client":"2","":"downstairs","session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"ds_connection connected from Ok(127.0.0.1:40613)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.72427872Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"":"io task","client":"1","":"downstairs","session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"ds_connection connected from Ok(127.0.0.1:48545)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.724289318Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"":"io task","client":"0","":"downstairs","session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.725010436Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"client":"1","":"downstairs","session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.725036073Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"client":"0","":"downstairs","session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.725047721Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"client":"2","":"downstairs","session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.725347853Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.725395337Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"[0]R flush_numbers[0..12]: [283, 286, 286, 286, 274, 268, 282, 286, 286, 276, 282, 282]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.725450599Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"":"downstairs","":"downstairs","session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"[0]R generation[0..12]: [166, 168, 168, 168, 160, 158, 166, 168, 168, 162, 166, 166]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.725462008Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"":"downstairs","":"downstairs","session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.725473247Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"":"downstairs","":"downstairs","session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"[1]R flush_numbers[0..12]: [283, 286, 286, 286, 274, 268, 282, 286, 286, 276, 282, 282]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.725484025Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"":"downstairs","":"downstairs","session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"[1]R generation[0..12]: [166, 168, 168, 168, 160, 158, 166, 168, 168, 162, 166, 166]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.725494724Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"":"downstairs","":"downstairs","session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.725505772Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"":"downstairs","":"downstairs","session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"[2]R flush_numbers[0..12]: [283, 286, 286, 286, 274, 268, 282, 286, 286, 276, 282, 282]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.725516651Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"":"downstairs","":"downstairs","session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"[2]R generation[0..12]: [166, 168, 168, 168, 160, 158, 166, 168, 168, 162, 166, 166]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.72552745Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"":"downstairs","":"downstairs","session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.725538768Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"":"downstairs","":"downstairs","session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"Max found gen is 169","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.725548297Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"":"downstairs","":"downstairs","session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"Generation requested: 170 >= found:169","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.725559915Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"":"downstairs","":"downstairs","session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"Next flush: 287","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.725569564Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"":"downstairs","":"downstairs","session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.725579313Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"":"downstairs","":"downstairs","session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.725589512Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.72559863Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"client":"0","":"downstairs","session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.725608709Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"client":"1","":"downstairs","session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.725618638Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"client":"2","":"downstairs","session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.725628697Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.725638055Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"1a759eed-c0a3-480f-9b5a-0d0e963838fa is now active with session: 891f82f7-761a-40a4-8ef2-896838359324","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.725648104Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.725657113Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"session_id":"891f82f7-761a-40a4-8ef2-896838359324"} {"msg":"The guest has finished waiting for activation with:170","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.725666532Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819} {"msg":"Activated sub_volume 1a759eed-c0a3-480f-9b5a-0d0e963838fa","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.725674871Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.7256833Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.726024276Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"task":"crutest"} 01/30 Write block 236 len 16384 data: 13 14 11 13 02/30 Write block 420 len 4096 data: 16 03/30 Flush 04/30 Write block 239 len 24576 data: 14 16 14 13 12 12 05/30 Write block 232 len 12288 data: 9 9 11 06/30 Write block 552 len 32768 data: 11 16 18 16 17 18 17 15 07/30 Write block 500 len 32768 data: 13 15 15 15 15 13 11 14 08/30 Write block 58 len 4096 data: 17 09/30 Read block 472 len 32768 10/30 Read block 496 len 32768 11/30 Read block 277 len 16384 12/30 Read block 519 len 28672 13/30 Write block 415 len 12288 data: 17 17 16 14/30 Read block 369 len 28672 15/30 Write block 388 len 16384 data: 12 13 12 14 16/30 Read block 303 len 20480 17/30 Write block 465 len 16384 data: 7 10 12 13 18/30 Write block 82 len 32768 data: 10 11 13 13 12 13 14 12 19/30 Write block 553 len 16384 data: 17 19 17 18 20/30 Read block 404 len 24576 21/30 Write block 28 len 8192 data: 12 14 22/30 Write block 113 len 16384 data: 10 8 12 10 23/30 Read block 493 len 40960 24/30 Write block 73 len 24576 data: 14 14 13 9 9 9 25/30 Write block 594 len 4096 data: 10 26/30 Read block 196 len 4096 27/30 Read block 383 len 20480 28/30 Read block 67 len 28672 29/30 Write block 341 len 36864 data: 19 18 21 19 17 17 14 13 15 30/30 Read block 347 len 16384 ---------------------------------------------------------------- Crucible gen:170 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 4 Done Sent Done false 1001 Acked Write 1 Done Sent Done false 1002 Acked Flush 0 Done Sent Done false 1003 Acked Write 6 Done Sent Done false 1004 Acked Write 3 Done Sent Done false 1005 Acked Write 8 Done Sent Done false 1006 Acked Write 8 Done Sent Done false 1007 Acked Write 1 Done Sent Done false 1008 Acked Read 8 Done Sent Done false 1009 Acked Read 8 Done Sent Done false 1010 Acked Read 4 Done Sent Done false 1011 Acked Read 7 Done Sent Done false 1012 Acked Write 3 Done Sent Done false 1013 Acked Read 7 Done Sent Done false 1014 Acked Write 4 Done Sent Done false 1015 Acked Read 5 Done Sent Done false 1016 Acked Write 4 Done Sent Done false 1017 Acked Write 8 Done Sent Done false 1018 Acked Write 4 Done Sent Done false 1019 Acked Read 6 Done Sent Done false 1020 Acked Write 2 Done Sent Done false 1021 Acked Write 4 Done Sent Done false 1022 Acked Read 10 Done Sent Done false 1023 Acked Write 6 Done Sent Done false 1024 Acked Write 1 Done Sent Done false 1025 Acked Read 1 Done Sent Done false 1026 Acked Read 5 Done Sent Done false 1027 Acked Read 7 Done Sent Done false 1028 Acked Write 9 Done Sent Done false 1029 Acked Read 4 Done Sent Done false STATES DS:0 DS:1 DS:2 TOTAL Sent 0 30 0 30 Done 30 0 30 60 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1002)) None Some(JobId(1002)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:48:04.733045315Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:04.733333798Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1819,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 166 166 166 283 283 283 F F F 1 020-039 168 168 168 286 286 286 T F T <--- 2 040-059 168 168 168 286 286 286 T F T <--- 3 060-079 168 168 168 286 286 286 T F T <--- 4 080-099 160 160 160 274 274 274 T F T <--- 5 100-119 158 158 158 268 268 268 T F T <--- 6 120-139 166 166 166 282 282 282 F F F 7 140-159 168 168 168 286 286 286 F F F 8 160-179 168 168 168 286 286 286 F F F 9 180-199 162 162 162 276 276 276 F F F 10 200-219 166 166 166 282 282 282 F F F 11 220-239 170 166 170 287 282 287 T F T <--- 12 240-259 168 168 168 286 286 286 T F T <--- 13 260-279 168 168 168 286 286 286 F F F 14 280-299 164 164 164 280 280 280 F F F 15 300-319 164 164 164 278 278 278 F F F 16 320-339 168 168 168 286 286 286 F F F 17 340-359 168 168 168 286 286 286 T F T <--- 18 360-379 165 165 165 281 281 281 F F F 19 380-399 163 163 163 277 277 277 T F T <--- 20 400-419 168 168 168 286 286 286 T F T <--- 21 420-439 170 168 170 287 286 287 F F F <--- 22 440-459 167 167 167 285 285 285 F F F 23 460-479 165 165 165 281 281 281 T F T <--- 24 480-499 167 167 167 285 285 285 F F F 25 500-519 165 165 165 281 281 281 T F T <--- 26 520-539 160 160 160 272 272 272 F F F 27 540-559 156 156 156 264 264 264 T F T <--- 28 560-579 162 162 162 276 276 276 F F F 29 580-599 168 168 168 286 286 286 T F T <--- Max gen: 170, Max flush: 287 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 85 Verifying data now No change after verify Loop: 85 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 166 166 166 283 283 283 F F F 1 020-039 171 171 171 288 288 288 F F F 2 040-059 171 171 171 288 288 288 F F F 3 060-079 171 171 171 288 288 288 F F F 4 080-099 171 171 171 288 288 288 F F F 5 100-119 171 171 171 288 288 288 F F F 6 120-139 166 166 166 282 282 282 F F F 7 140-159 168 168 168 286 286 286 F F F 8 160-179 168 168 168 286 286 286 F F F 9 180-199 162 162 162 276 276 276 F F F 10 200-219 166 166 166 282 282 282 F F F 11 220-239 171 171 171 288 288 288 F F F 12 240-259 171 171 171 288 288 288 F F F 13 260-279 168 168 168 286 286 286 F F F 14 280-299 164 164 164 280 280 280 F F F 15 300-319 164 164 164 278 278 278 F F F 16 320-339 168 168 168 286 286 286 F F F 17 340-359 171 171 171 288 288 288 F F F 18 360-379 165 165 165 281 281 281 F F F 19 380-399 171 171 171 288 288 288 F F F 20 400-419 171 171 171 288 288 288 F F F 21 420-439 170 170 170 287 287 287 F F F 22 440-459 167 167 167 285 285 285 F F F 23 460-479 171 171 171 288 288 288 F F F 24 480-499 167 167 167 285 285 285 F F F 25 500-519 171 171 171 288 288 288 F F F 26 520-539 160 160 160 272 272 272 F F F 27 540-559 171 171 171 288 288 288 F F F 28 560-579 162 162 162 276 276 276 F F F 29 580-599 171 171 171 288 288 288 F F F Max gen: 171, Max flush: 288 Begin loop 86 Downstairs to restart: 0 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:08.98790192Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"task":"crutest"} {"msg":"Failed to get info from \"http://127.0.0.1:12810\" Communication Error: error sending request for url (http://127.0.0.1:12810/region-info)","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:48:08.995008569Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"task":"crutest"} {"msg":"look at: http://127.0.0.1:12820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:08.995087169Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008820, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.002239861Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.002523725Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.002557711Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.002567379Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.002579358Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827} {"msg":"Crucible 93fc7677-f7df-49fb-be7f-bdf9a0259eb4 has session id: 2e3e095b-73c7-4c49-b30e-a6281fde54f2","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.002899207Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"Upstairs opts: Upstairs UUID: 93fc7677-f7df-49fb-be7f-bdf9a0259eb4, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.002923864Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"Crucible stats registered with UUID: 93fc7677-f7df-49fb-be7f-bdf9a0259eb4","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.002934112Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:48:09.002943391Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.003114219Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"":"io task","client":"2","":"downstairs","session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.003130247Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"":"io task","client":"0","":"downstairs","session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.003140526Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"":"io task","client":"1","":"downstairs","session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.003272889Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"task":"crutest"} {"msg":"The guest has requested activation with gen:172","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.003296746Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827} {"msg":"93fc7677-f7df-49fb-be7f-bdf9a0259eb4 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.003314224Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.003323463Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"client":"0","":"downstairs","session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.003333621Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"client":"1","":"downstairs","session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.00334351Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"client":"2","":"downstairs","session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.003353649Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"":"io task","client":"2","":"downstairs","session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.003371176Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"":"io task","client":"0","":"downstairs","session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.003381505Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"":"io task","client":"1","":"downstairs","session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"ds_connection connected from Ok(127.0.0.1:43348)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.003401213Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"":"io task","client":"2","":"downstairs","session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"ds_connection connected from Ok(127.0.0.1:50558)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.003482422Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"":"io task","client":"0","":"downstairs","session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"ds_connection connected from Ok(127.0.0.1:42588)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.003493961Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"":"io task","client":"1","":"downstairs","session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.0041256Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"client":"1","":"downstairs","session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.004150546Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"client":"0","":"downstairs","session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.004185342Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"client":"2","":"downstairs","session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.004491643Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.004541856Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"[0]R flush_numbers[0..12]: [283, 288, 288, 288, 288, 288, 282, 286, 286, 276, 282, 288]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.004608068Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"":"downstairs","":"downstairs","session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"[0]R generation[0..12]: [166, 171, 171, 171, 171, 171, 166, 168, 168, 162, 166, 171]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.004619686Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"":"downstairs","":"downstairs","session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.004631085Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"":"downstairs","":"downstairs","session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"[1]R flush_numbers[0..12]: [283, 288, 288, 288, 288, 288, 282, 286, 286, 276, 282, 288]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.004642063Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"":"downstairs","":"downstairs","session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"[1]R generation[0..12]: [166, 171, 171, 171, 171, 171, 166, 168, 168, 162, 166, 171]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.004653002Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"":"downstairs","":"downstairs","session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.004664161Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"":"downstairs","":"downstairs","session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"[2]R flush_numbers[0..12]: [283, 288, 288, 288, 288, 288, 282, 286, 286, 276, 282, 288]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.004677089Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"":"downstairs","":"downstairs","session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"[2]R generation[0..12]: [166, 171, 171, 171, 171, 171, 166, 168, 168, 162, 166, 171]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.004687918Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"":"downstairs","":"downstairs","session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.004698906Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"":"downstairs","":"downstairs","session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"Max found gen is 172","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.004708625Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"":"downstairs","":"downstairs","session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"Generation requested: 172 >= found:172","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.004718764Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"":"downstairs","":"downstairs","session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"Next flush: 289","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.004728342Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"":"downstairs","":"downstairs","session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.004738091Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"":"downstairs","":"downstairs","session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.00474807Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.004757489Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"client":"0","":"downstairs","session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.004767647Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"client":"1","":"downstairs","session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.004777696Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"client":"2","":"downstairs","session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.004787905Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.004797324Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"93fc7677-f7df-49fb-be7f-bdf9a0259eb4 is now active with session: 2e3e095b-73c7-4c49-b30e-a6281fde54f2","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.004807532Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.004816581Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"session_id":"2e3e095b-73c7-4c49-b30e-a6281fde54f2"} {"msg":"The guest has finished waiting for activation with:172","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.00482732Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827} {"msg":"Activated sub_volume 93fc7677-f7df-49fb-be7f-bdf9a0259eb4","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.004835929Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.004844467Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.005177845Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"task":"crutest"} 01/30 Write block 16 len 28672 data: 7 7 11 14 15 14 14 02/30 Read block 461 len 36864 03/30 Read block 557 len 40960 04/30 Read block 95 len 36864 05/30 Write block 85 len 4096 data: 14 06/30 Write block 50 len 36864 data: 11 9 5 5 8 9 13 15 18 07/30 Read block 42 len 16384 08/30 Read block 308 len 4096 09/30 Write block 270 len 16384 data: 12 14 13 14 10/30 Read block 36 len 16384 11/30 Read block 590 len 24576 12/30 Read block 36 len 4096 13/30 Read block 389 len 12288 14/30 Write block 512 len 12288 data: 16 15 16 15/30 Read block 506 len 8192 16/30 Write block 190 len 24576 data: 12 11 12 12 10 9 17/30 Write block 332 len 40960 data: 10 10 11 14 14 17 20 23 18 20 18/30 Flush 19/30 Write block 65 len 20480 data: 15 13 9 12 13 20/30 Write block 334 len 40960 data: 12 15 15 18 21 24 19 21 19 22 21/30 Read block 428 len 8192 22/30 Read block 59 len 32768 23/30 Read block 125 len 36864 24/30 Read block 239 len 40960 25/30 Write block 377 len 40960 data: 13 13 11 9 10 11 12 14 10 12 26/30 Read block 91 len 16384 27/30 Read block 267 len 8192 28/30 Read block 142 len 28672 29/30 Read block 583 len 12288 30/30 Read block 60 len 28672 ---------------------------------------------------------------- Crucible gen:172 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 7 Sent Done Done false 1001 Acked Read 9 Sent Done Done false 1002 Acked Read 10 Sent Done Done false 1003 Acked Read 9 Sent Done Done false 1004 Acked Write 1 Sent Done Done false 1005 Acked Write 9 Sent Done Done false 1006 Acked Read 4 Sent Done Done false 1007 Acked Read 1 Sent Done Done false 1008 Acked Write 4 Sent Done Done false 1009 Acked Read 4 Sent Done Done false 1010 Acked Read 6 Sent Done Done false 1011 Acked Read 1 Sent Done Done false 1012 Acked Read 3 Sent Done Done false 1013 Acked Write 3 Sent Done Done false 1014 Acked Read 2 Sent Done Done false 1015 Acked Write 6 Sent Done Done false 1016 Acked Write 10 Sent Done Done false 1017 Acked Flush 0 Sent Done Done false 1018 Acked Write 5 Sent Done Done false 1019 Acked Write 10 Sent Done Done false 1020 Acked Read 2 Sent Done Done false 1021 Acked Read 8 Sent Done Done false 1022 Acked Read 9 Sent Done Done false 1023 Acked Read 10 Sent Done Done false 1024 Acked Write 10 Sent Done Done false 1025 Acked Read 4 Sent Done Done false 1026 Acked Read 2 Sent Done Done false 1027 Acked Read 7 Sent Done Done false 1028 Acked Read 3 Sent Done Done false 1029 Acked Read 7 Sent Sent Done false STATES DS:0 DS:1 DS:2 TOTAL Sent 30 1 0 31 Done 0 29 30 59 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: None Some(JobId(1017)) Some(JobId(1017)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:48:09.01418435Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:09.014488501Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1827,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 166 172 172 283 289 289 F F F <--- 1 020-039 171 172 172 288 289 289 F F F <--- 2 040-059 171 172 172 288 289 289 F F F <--- 3 060-079 171 171 171 288 288 288 F T T <--- 4 080-099 171 172 172 288 289 289 F F F <--- 5 100-119 171 171 171 288 288 288 F F F 6 120-139 166 166 166 282 282 282 F F F 7 140-159 168 168 168 286 286 286 F F F 8 160-179 168 168 168 286 286 286 F F F 9 180-199 162 172 172 276 289 289 F F F <--- 10 200-219 166 166 166 282 282 282 F F F 11 220-239 171 171 171 288 288 288 F F F 12 240-259 171 171 171 288 288 288 F F F 13 260-279 168 172 172 286 289 289 F F F <--- 14 280-299 164 164 164 280 280 280 F F F 15 300-319 164 164 164 278 278 278 F F F 16 320-339 168 172 172 286 289 289 F T T <--- 17 340-359 171 172 172 288 289 289 F T T <--- 18 360-379 165 165 165 281 281 281 F T T <--- 19 380-399 171 171 171 288 288 288 F T T <--- 20 400-419 171 171 171 288 288 288 F F F 21 420-439 170 170 170 287 287 287 F F F 22 440-459 167 167 167 285 285 285 F F F 23 460-479 171 171 171 288 288 288 F F F 24 480-499 167 167 167 285 285 285 F F F 25 500-519 171 172 172 288 289 289 F F F <--- 26 520-539 160 160 160 272 272 272 F F F 27 540-559 171 171 171 288 288 288 F F F 28 560-579 162 162 162 276 276 276 F F F 29 580-599 171 171 171 288 288 288 F F F Max gen: 172, Max flush: 289 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 86 Verifying data now No change after verify Loop: 86 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 172 172 172 289 289 289 F F F 1 020-039 172 172 172 289 289 289 F F F 2 040-059 172 172 172 289 289 289 F F F 3 060-079 173 173 173 290 290 290 F F F 4 080-099 172 172 172 289 289 289 F F F 5 100-119 171 171 171 288 288 288 F F F 6 120-139 166 166 166 282 282 282 F F F 7 140-159 168 168 168 286 286 286 F F F 8 160-179 168 168 168 286 286 286 F F F 9 180-199 172 172 172 289 289 289 F F F 10 200-219 166 166 166 282 282 282 F F F 11 220-239 171 171 171 288 288 288 F F F 12 240-259 171 171 171 288 288 288 F F F 13 260-279 172 172 172 289 289 289 F F F 14 280-299 164 164 164 280 280 280 F F F 15 300-319 164 164 164 278 278 278 F F F 16 320-339 173 173 173 290 290 290 F F F 17 340-359 173 173 173 290 290 290 F F F 18 360-379 173 173 173 290 290 290 F F F 19 380-399 173 173 173 290 290 290 F F F 20 400-419 171 171 171 288 288 288 F F F 21 420-439 170 170 170 287 287 287 F F F 22 440-459 167 167 167 285 285 285 F F F 23 460-479 171 171 171 288 288 288 F F F 24 480-499 167 167 167 285 285 285 F F F 25 500-519 172 172 172 289 289 289 F F F 26 520-539 160 160 160 272 272 272 F F F 27 540-559 171 171 171 288 288 288 F F F 28 560-579 162 162 162 276 276 276 F F F 29 580-599 171 171 171 288 288 288 F F F Max gen: 173, Max flush: 290 Begin loop 87 Downstairs to restart: 2 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.261946535Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.270347098Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.27064639Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.270676446Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.270687634Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.270699403Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835} {"msg":"Crucible 73de3dd4-291b-4f7b-af52-73bb06036c91 has session id: e4faa03b-5860-42c9-a860-19a8f35edacd","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.271069035Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"Upstairs opts: Upstairs UUID: 73de3dd4-291b-4f7b-af52-73bb06036c91, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.271099961Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"Crucible stats registered with UUID: 73de3dd4-291b-4f7b-af52-73bb06036c91","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.27111099Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:48:13.271120859Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.271261891Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"":"io task","client":"1","":"downstairs","session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.271277829Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"":"io task","client":"0","":"downstairs","session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.271288187Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"":"io task","client":"2","":"downstairs","session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.271433979Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"task":"crutest"} {"msg":"The guest has requested activation with gen:174","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.271458105Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835} {"msg":"73de3dd4-291b-4f7b-af52-73bb06036c91 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.271482262Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.271491771Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"client":"0","":"downstairs","session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.27150165Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"client":"1","":"downstairs","session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.271511649Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"client":"2","":"downstairs","session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.271523657Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"":"io task","client":"2","":"downstairs","session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.271534076Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"":"io task","client":"0","":"downstairs","session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.271544334Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"":"io task","client":"1","":"downstairs","session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"ds_connection connected from Ok(127.0.0.1:62252)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.271589859Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"":"io task","client":"1","":"downstairs","session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"ds_connection connected from Ok(127.0.0.1:39976)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.271600977Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"":"io task","client":"0","":"downstairs","session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"ds_connection connected from Ok(127.0.0.1:58451)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.271611416Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"":"io task","client":"2","":"downstairs","session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.272256083Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"client":"0","":"downstairs","session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.272269651Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"client":"1","":"downstairs","session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.27228063Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"client":"2","":"downstairs","session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.272618557Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.272641594Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"[0]R flush_numbers[0..12]: [289, 289, 289, 290, 289, 288, 282, 286, 286, 289, 282, 288]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.272652452Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"":"downstairs","":"downstairs","session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"[0]R generation[0..12]: [172, 172, 172, 173, 172, 171, 166, 168, 168, 172, 166, 171]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.272663771Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"":"downstairs","":"downstairs","session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.272674889Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"":"downstairs","":"downstairs","session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"[1]R flush_numbers[0..12]: [289, 289, 289, 290, 289, 288, 282, 286, 286, 289, 282, 288]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.272685548Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"":"downstairs","":"downstairs","session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"[1]R generation[0..12]: [172, 172, 172, 173, 172, 171, 166, 168, 168, 172, 166, 171]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.272698876Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"":"downstairs","":"downstairs","session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.272710105Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"":"downstairs","":"downstairs","session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"[2]R flush_numbers[0..12]: [289, 289, 289, 290, 289, 288, 282, 286, 286, 289, 282, 288]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.272720864Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"":"downstairs","":"downstairs","session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"[2]R generation[0..12]: [172, 172, 172, 173, 172, 171, 166, 168, 168, 172, 166, 171]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.272731562Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"":"downstairs","":"downstairs","session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.272742581Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"":"downstairs","":"downstairs","session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"Max found gen is 174","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.27275224Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"":"downstairs","":"downstairs","session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"Generation requested: 174 >= found:174","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.272762528Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"":"downstairs","":"downstairs","session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"Next flush: 291","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.272772067Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"":"downstairs","":"downstairs","session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.272781576Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"":"downstairs","":"downstairs","session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.272791365Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.272800283Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"client":"0","":"downstairs","session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.272810172Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"client":"1","":"downstairs","session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.272820171Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"client":"2","":"downstairs","session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.2728302Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.272839868Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"73de3dd4-291b-4f7b-af52-73bb06036c91 is now active with session: e4faa03b-5860-42c9-a860-19a8f35edacd","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.272851207Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.272860226Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"session_id":"e4faa03b-5860-42c9-a860-19a8f35edacd"} {"msg":"The guest has finished waiting for activation with:174","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.272869634Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835} {"msg":"Activated sub_volume 73de3dd4-291b-4f7b-af52-73bb06036c91","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.272878043Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.272886442Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.273189713Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"task":"crutest"} 01/30 Write block 329 len 32768 data: 15 13 11 11 11 13 16 16 02/30 Read block 434 len 20480 03/30 Read block 515 len 40960 04/30 Read block 230 len 24576 05/30 Write block 67 len 24576 data: 10 13 14 15 16 15 06/30 Read block 454 len 12288 07/30 Read block 77 len 32768 08/30 Write block 435 len 28672 data: 12 12 14 14 13 14 15 09/30 Write block 312 len 16384 data: 13 15 10 7 10/30 Read block 403 len 16384 11/30 Write block 209 len 20480 data: 16 16 16 11 13 12/30 Read block 410 len 16384 13/30 Read block 20 len 40960 14/30 Read block 194 len 28672 15/30 Write block 49 len 24576 data: 10 12 10 6 6 9 16/30 Flush 17/30 Flush 18/30 Write block 378 len 32768 data: 14 12 10 11 12 13 15 11 19/30 Read block 364 len 28672 20/30 Read block 290 len 4096 21/30 Read block 163 len 32768 22/30 Read block 523 len 4096 23/30 Read block 470 len 16384 24/30 Flush 25/30 Write block 515 len 4096 data: 13 26/30 Flush 27/30 Write block 375 len 32768 data: 18 14 14 15 13 11 12 13 28/30 Read block 455 len 12288 29/30 Read block 25 len 36864 30/30 Read block 139 len 8192 ---------------------------------------------------------------- Crucible gen:174 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 8 Done Done Sent false 1001 Acked Read 5 Done Done Sent false 1002 Acked Read 10 Done Done Sent false 1003 Acked Read 6 Done Done Sent false 1004 Acked Write 6 Done Done Sent false 1005 Acked Read 3 Done Done Sent false 1006 Acked Read 8 Done Done Sent false 1007 Acked Write 7 Done Done Sent false 1008 Acked Write 4 Done Done Sent false 1009 Acked Read 4 Done Done Sent false 1010 Acked Write 5 Done Done Sent false 1011 Acked Read 4 Done Done Sent false 1012 Acked Read 10 Done Done Sent false 1013 Acked Read 7 Done Done Sent false 1014 Acked Write 6 Done Done Sent false 1015 Acked Flush 0 Done Done Sent false 1016 Acked Flush 0 Done Done Sent false 1017 Acked Write 8 Done Done Sent false 1018 Acked Read 7 Done Done Sent false 1019 Acked Read 1 Done Done Sent false 1020 Acked Read 8 Done Done Sent false 1021 Acked Read 1 Done Done Sent false 1022 Acked Read 4 Done Done Sent false 1023 Acked Flush 0 Done Done Sent false 1024 Acked Write 1 Done Done Sent false 1025 Acked Flush 0 Done Done Sent false 1026 Acked Write 8 Done Done Sent false 1027 Acked Read 3 Done Done Sent false 1028 Acked Read 9 Done Done Sent false 1029 Acked Read 2 Done Done Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 0 0 30 30 Done 30 30 0 60 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1025)) Some(JobId(1025)) None Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:48:13.282267159Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:13.282568371Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1835,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 172 172 172 289 289 289 F F F 1 020-039 172 172 172 289 289 289 F F F 2 040-059 174 174 172 291 291 289 F F F <--- 3 060-079 174 174 173 291 291 290 F F F <--- 4 080-099 172 172 172 289 289 289 F F F 5 100-119 171 171 171 288 288 288 F F F 6 120-139 166 166 166 282 282 282 F F F 7 140-159 168 168 168 286 286 286 F F F 8 160-179 168 168 168 286 286 286 F F F 9 180-199 172 172 172 289 289 289 F F F 10 200-219 174 174 166 291 291 282 F F F <--- 11 220-239 171 171 171 288 288 288 F F F 12 240-259 171 171 171 288 288 288 F F F 13 260-279 172 172 172 289 289 289 F F F 14 280-299 164 164 164 280 280 280 F F F 15 300-319 174 174 164 291 291 278 F F F <--- 16 320-339 174 174 173 291 291 290 F F F <--- 17 340-359 173 173 173 290 290 290 F F F 18 360-379 174 174 173 293 293 290 T T F <--- 19 380-399 174 174 173 293 293 290 T T F <--- 20 400-419 171 171 171 288 288 288 F F F 21 420-439 174 174 170 291 291 287 F F F <--- 22 440-459 174 174 167 291 291 285 F F F <--- 23 460-479 171 171 171 288 288 288 F F F 24 480-499 167 167 167 285 285 285 F F F 25 500-519 174 174 172 294 294 289 F F F <--- 26 520-539 160 160 160 272 272 272 F F F 27 540-559 171 171 171 288 288 288 F F F 28 560-579 162 162 162 276 276 276 F F F 29 580-599 171 171 171 288 288 288 F F F Max gen: 174, Max flush: 294 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 87 Verifying data now No change after verify Loop: 87 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 172 172 172 289 289 289 F F F 1 020-039 172 172 172 289 289 289 F F F 2 040-059 174 174 174 291 291 291 F F F 3 060-079 174 174 174 291 291 291 F F F 4 080-099 172 172 172 289 289 289 F F F 5 100-119 171 171 171 288 288 288 F F F 6 120-139 166 166 166 282 282 282 F F F 7 140-159 168 168 168 286 286 286 F F F 8 160-179 168 168 168 286 286 286 F F F 9 180-199 172 172 172 289 289 289 F F F 10 200-219 174 174 174 291 291 291 F F F 11 220-239 171 171 171 288 288 288 F F F 12 240-259 171 171 171 288 288 288 F F F 13 260-279 172 172 172 289 289 289 F F F 14 280-299 164 164 164 280 280 280 F F F 15 300-319 174 174 174 291 291 291 F F F 16 320-339 174 174 174 291 291 291 F F F 17 340-359 173 173 173 290 290 290 F F F 18 360-379 175 175 175 295 295 295 F F F 19 380-399 175 175 175 295 295 295 F F F 20 400-419 171 171 171 288 288 288 F F F 21 420-439 174 174 174 291 291 291 F F F 22 440-459 174 174 174 291 291 291 F F F 23 460-479 171 171 171 288 288 288 F F F 24 480-499 167 167 167 285 285 285 F F F 25 500-519 174 174 174 294 294 294 F F F 26 520-539 160 160 160 272 272 272 F F F 27 540-559 171 171 171 288 288 288 F F F 28 560-579 162 162 162 276 276 276 F F F 29 580-599 171 171 171 288 288 288 F F F Max gen: 175, Max flush: 295 Begin loop 88 Downstairs to restart: 1 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.517852216Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.526033927Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.526371504Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.52640184Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.526410739Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.526422567Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843} {"msg":"Crucible be32fdd3-652a-4ade-b27e-ad16e473b6d4 has session id: b7c2d99e-69bf-4830-83b1-281f6523c2b7","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.526744616Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"Upstairs opts: Upstairs UUID: be32fdd3-652a-4ade-b27e-ad16e473b6d4, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.526774352Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"Crucible stats registered with UUID: be32fdd3-652a-4ade-b27e-ad16e473b6d4","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.526785301Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:48:17.52679491Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.526954269Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"":"io task","client":"2","":"downstairs","session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.526970157Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"":"io task","client":"1","":"downstairs","session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.526980496Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"":"io task","client":"0","":"downstairs","session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.52710249Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"task":"crutest"} {"msg":"The guest has requested activation with gen:176","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.527126587Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843} {"msg":"be32fdd3-652a-4ade-b27e-ad16e473b6d4 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.527139965Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.527149064Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"client":"0","":"downstairs","session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.527160753Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"client":"1","":"downstairs","session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.527170761Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"client":"2","":"downstairs","session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.52718066Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"":"io task","client":"2","":"downstairs","session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.527190859Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"":"io task","client":"1","":"downstairs","session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.527200948Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"":"io task","client":"0","":"downstairs","session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"ds_connection connected from Ok(127.0.0.1:33966)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.52726207Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"":"io task","client":"2","":"downstairs","session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"ds_connection connected from Ok(127.0.0.1:48896)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.527287896Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"":"io task","client":"0","":"downstairs","session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"ds_connection connected from Ok(127.0.0.1:39056)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.527402352Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"":"io task","client":"1","":"downstairs","session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.527914636Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"client":"0","":"downstairs","session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.527927894Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"client":"1","":"downstairs","session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.527939063Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"client":"2","":"downstairs","session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.528224666Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.528234425Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"[0]R flush_numbers[0..12]: [289, 289, 291, 291, 289, 288, 282, 286, 286, 289, 291, 288]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.52827314Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"":"downstairs","":"downstairs","session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"[0]R generation[0..12]: [172, 172, 174, 174, 172, 171, 166, 168, 168, 172, 174, 171]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.528284899Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"":"downstairs","":"downstairs","session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.528298257Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"":"downstairs","":"downstairs","session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"[1]R flush_numbers[0..12]: [289, 289, 291, 291, 289, 288, 282, 286, 286, 289, 291, 288]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.528309145Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"":"downstairs","":"downstairs","session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"[1]R generation[0..12]: [172, 172, 174, 174, 172, 171, 166, 168, 168, 172, 174, 171]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.528319914Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"":"downstairs","":"downstairs","session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.528330863Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"":"downstairs","":"downstairs","session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"[2]R flush_numbers[0..12]: [289, 289, 291, 291, 289, 288, 282, 286, 286, 289, 291, 288]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.528341591Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"":"downstairs","":"downstairs","session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"[2]R generation[0..12]: [172, 172, 174, 174, 172, 171, 166, 168, 168, 172, 174, 171]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.52835224Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"":"downstairs","":"downstairs","session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.528363179Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"":"downstairs","":"downstairs","session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"Max found gen is 176","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.528372687Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"":"downstairs","":"downstairs","session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"Generation requested: 176 >= found:176","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.528382456Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"":"downstairs","":"downstairs","session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"Next flush: 296","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.528392025Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"":"downstairs","":"downstairs","session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.528401524Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"":"downstairs","":"downstairs","session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.528411242Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.528420261Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"client":"0","":"downstairs","session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.52843009Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"client":"1","":"downstairs","session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.528441109Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"client":"2","":"downstairs","session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.528451347Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.528460756Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"be32fdd3-652a-4ade-b27e-ad16e473b6d4 is now active with session: b7c2d99e-69bf-4830-83b1-281f6523c2b7","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.528470805Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.528479834Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"session_id":"b7c2d99e-69bf-4830-83b1-281f6523c2b7"} {"msg":"The guest has finished waiting for activation with:176","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.528489072Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843} {"msg":"Activated sub_volume be32fdd3-652a-4ade-b27e-ad16e473b6d4","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.528497341Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.52850549Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.528791024Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"task":"crutest"} 01/30 Write block 45 len 36864 data: 9 11 12 12 11 13 11 7 7 02/30 Read block 71 len 12288 03/30 Read block 295 len 12288 04/30 Read block 86 len 40960 05/30 Write block 512 len 24576 data: 17 16 17 14 13 12 06/30 Write block 569 len 4096 data: 16 07/30 Read block 113 len 16384 08/30 Read block 486 len 40960 09/30 Write block 284 len 4096 data: 17 10/30 Write block 36 len 4096 data: 11 11/30 Write block 214 len 28672 data: 13 15 14 15 13 11 9 12/30 Read block 165 len 40960 13/30 Read block 408 len 36864 14/30 Read block 33 len 40960 15/30 Read block 336 len 24576 16/30 Read block 571 len 32768 17/30 Write block 348 len 32768 data: 14 16 13 12 10 11 15 16 18/30 Write block 80 len 16384 data: 9 12 11 12 19/30 Read block 163 len 28672 20/30 Write block 21 len 28672 data: 15 15 13 10 6 8 10 21/30 Write block 157 len 8192 data: 10 11 22/30 Flush 23/30 Write block 567 len 24576 data: 12 14 17 16 14 18 24/30 Read block 167 len 28672 25/30 Write block 386 len 16384 data: 13 12 13 14 26/30 Write block 146 len 40960 data: 17 18 15 14 15 12 10 9 11 12 27/30 Read block 177 len 40960 28/30 Write block 242 len 28672 data: 14 13 13 14 14 11 12 29/30 Read block 215 len 40960 30/30 Write block 536 len 12288 data: 6 8 10 ---------------------------------------------------------------- Crucible gen:176 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 9 Done Sent Done false 1001 Acked Read 3 Done Sent Done false 1002 Acked Read 3 Done Sent Done false 1003 Acked Read 10 Done Sent Done false 1004 Acked Write 6 Done Sent Done false 1005 Acked Write 1 Done Sent Done false 1006 Acked Read 4 Done Sent Done false 1007 Acked Read 10 Done Sent Done false 1008 Acked Write 1 Done Sent Done false 1009 Acked Write 1 Done Sent Done false 1010 Acked Write 7 Done Sent Done false 1011 Acked Read 10 Done Sent Done false 1012 Acked Read 9 Done Sent Done false 1013 Acked Read 10 Done Sent Done false 1014 Acked Read 6 Done Sent Done false 1015 Acked Read 8 Done Sent Done false 1016 Acked Write 8 Done Sent Done false 1017 Acked Write 4 Done Sent Done false 1018 Acked Read 7 Done Sent Done false 1019 Acked Write 7 Done Sent Done false 1020 Acked Write 2 Done Sent Done false 1021 Acked Flush 0 Done Sent Done false 1022 Acked Write 6 Done Sent Done false 1023 Acked Read 7 Done Sent Done false 1024 Acked Write 4 Done Sent Done false 1025 Acked Write 10 Done Sent Done false 1026 Acked Read 10 Done Sent Done false 1027 Acked Write 7 Done Sent Done false 1028 Acked Read 10 Done Sent Done false 1029 Acked Write 3 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 1 30 1 32 Done 29 0 29 58 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1021)) None Some(JobId(1021)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:48:17.537143093Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:17.537452123Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1843,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 172 172 172 289 289 289 F F F 1 020-039 176 172 176 296 289 296 F F F <--- 2 040-059 176 174 176 296 291 296 F F F <--- 3 060-079 174 174 174 291 291 291 F F F 4 080-099 176 172 176 296 289 296 F F F <--- 5 100-119 171 171 171 288 288 288 F F F 6 120-139 166 166 166 282 282 282 F F F 7 140-159 176 168 176 296 286 296 T F T <--- 8 160-179 168 168 168 286 286 286 F F F 9 180-199 172 172 172 289 289 289 F F F 10 200-219 176 174 176 296 291 296 F F F <--- 11 220-239 176 171 176 296 288 296 F F F <--- 12 240-259 171 171 171 288 288 288 T F T <--- 13 260-279 172 172 172 289 289 289 F F F 14 280-299 176 164 176 296 280 296 F F F <--- 15 300-319 174 174 174 291 291 291 F F F 16 320-339 174 174 174 291 291 291 F F F 17 340-359 176 173 176 296 290 296 F F F <--- 18 360-379 175 175 175 295 295 295 F F F 19 380-399 175 175 175 295 295 295 T F T <--- 20 400-419 171 171 171 288 288 288 F F F 21 420-439 174 174 174 291 291 291 F F F 22 440-459 174 174 174 291 291 291 F F F 23 460-479 171 171 171 288 288 288 F F F 24 480-499 167 167 167 285 285 285 F F F 25 500-519 176 174 176 296 294 296 F F F <--- 26 520-539 160 160 160 272 272 272 T F T <--- 27 540-559 171 171 171 288 288 288 F F F 28 560-579 176 162 176 296 276 296 T F T <--- 29 580-599 171 171 171 288 288 288 F F F Max gen: 176, Max flush: 296 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 88 Verifying data now No change after verify Loop: 88 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 172 172 172 289 289 289 F F F 1 020-039 176 176 176 296 296 296 F F F 2 040-059 176 176 176 296 296 296 F F F 3 060-079 174 174 174 291 291 291 F F F 4 080-099 176 176 176 296 296 296 F F F 5 100-119 171 171 171 288 288 288 F F F 6 120-139 166 166 166 282 282 282 F F F 7 140-159 177 177 177 297 297 297 F F F 8 160-179 168 168 168 286 286 286 F F F 9 180-199 172 172 172 289 289 289 F F F 10 200-219 176 176 176 296 296 296 F F F 11 220-239 176 176 176 296 296 296 F F F 12 240-259 177 177 177 297 297 297 F F F 13 260-279 172 172 172 289 289 289 F F F 14 280-299 176 176 176 296 296 296 F F F 15 300-319 174 174 174 291 291 291 F F F 16 320-339 174 174 174 291 291 291 F F F 17 340-359 176 176 176 296 296 296 F F F 18 360-379 175 175 175 295 295 295 F F F 19 380-399 177 177 177 297 297 297 F F F 20 400-419 171 171 171 288 288 288 F F F 21 420-439 174 174 174 291 291 291 F F F 22 440-459 174 174 174 291 291 291 F F F 23 460-479 171 171 171 288 288 288 F F F 24 480-499 167 167 167 285 285 285 F F F 25 500-519 176 176 176 296 296 296 F F F 26 520-539 177 177 177 297 297 297 F F F 27 540-559 171 171 171 288 288 288 F F F 28 560-579 177 177 177 297 297 297 F F F 29 580-599 171 171 171 288 288 288 F F F Max gen: 177, Max flush: 297 Begin loop 89 Downstairs to restart: 0 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.779629295Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"task":"crutest"} {"msg":"Failed to get info from \"http://127.0.0.1:12810\" Communication Error: error sending request for url (http://127.0.0.1:12810/region-info)","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:48:21.786848319Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"task":"crutest"} {"msg":"look at: http://127.0.0.1:12820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.786936178Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008820, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.794038397Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.79432664Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.794364525Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.794373914Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.794385662Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851} {"msg":"Crucible 7c53ec3a-0572-45e0-ac03-157e634054dc has session id: be0b5a27-254c-44a3-a3bb-0d4b9b675529","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.794724329Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"Upstairs opts: Upstairs UUID: 7c53ec3a-0572-45e0-ac03-157e634054dc, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.794754175Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"Crucible stats registered with UUID: 7c53ec3a-0572-45e0-ac03-157e634054dc","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.794765494Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:48:21.794775072Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.794921204Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"":"io task","client":"2","":"downstairs","session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.794939431Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"":"io task","client":"1","":"downstairs","session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.79494974Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"":"io task","client":"0","":"downstairs","session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.79510261Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"task":"crutest"} {"msg":"The guest has requested activation with gen:178","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.795126677Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851} {"msg":"7c53ec3a-0572-45e0-ac03-157e634054dc active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.795139986Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.795149074Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"client":"0","":"downstairs","session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.795158983Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"client":"1","":"downstairs","session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.795168792Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"client":"2","":"downstairs","session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.79518111Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"":"io task","client":"2","":"downstairs","session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.795191209Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"":"io task","client":"1","":"downstairs","session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.795201188Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"":"io task","client":"0","":"downstairs","session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"ds_connection connected from Ok(127.0.0.1:56272)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.795266289Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"":"io task","client":"2","":"downstairs","session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"ds_connection connected from Ok(127.0.0.1:43548)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.795291856Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"":"io task","client":"0","":"downstairs","session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"ds_connection connected from Ok(127.0.0.1:64804)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.795303225Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"":"io task","client":"1","":"downstairs","session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.79596276Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"client":"1","":"downstairs","session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.795995666Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"client":"2","":"downstairs","session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.796010824Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"client":"0","":"downstairs","session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.796268731Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.79627858Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"[0]R flush_numbers[0..12]: [289, 296, 296, 291, 296, 288, 282, 297, 286, 289, 296, 296]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.796311765Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"":"downstairs","":"downstairs","session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"[0]R generation[0..12]: [172, 176, 176, 174, 176, 171, 166, 177, 168, 172, 176, 176]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.796323304Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"":"downstairs","":"downstairs","session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.796334722Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"":"downstairs","":"downstairs","session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"[1]R flush_numbers[0..12]: [289, 296, 296, 291, 296, 288, 282, 297, 286, 289, 296, 296]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.796345601Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"":"downstairs","":"downstairs","session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"[1]R generation[0..12]: [172, 176, 176, 174, 176, 171, 166, 177, 168, 172, 176, 176]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.79635627Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"":"downstairs","":"downstairs","session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.796367388Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"":"downstairs","":"downstairs","session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"[2]R flush_numbers[0..12]: [289, 296, 296, 291, 296, 288, 282, 297, 286, 289, 296, 296]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.796378187Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"":"downstairs","":"downstairs","session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"[2]R generation[0..12]: [172, 176, 176, 174, 176, 171, 166, 177, 168, 172, 176, 176]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.796389135Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"":"downstairs","":"downstairs","session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.796400344Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"":"downstairs","":"downstairs","session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"Max found gen is 178","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.796410083Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"":"downstairs","":"downstairs","session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"Generation requested: 178 >= found:178","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.796420081Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"":"downstairs","":"downstairs","session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"Next flush: 298","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.79643117Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"":"downstairs","":"downstairs","session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.796440879Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"":"downstairs","":"downstairs","session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.796451198Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.796460336Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"client":"0","":"downstairs","session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.796470485Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"client":"1","":"downstairs","session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.796480574Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"client":"2","":"downstairs","session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.796491032Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.796500441Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"7c53ec3a-0572-45e0-ac03-157e634054dc is now active with session: be0b5a27-254c-44a3-a3bb-0d4b9b675529","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.79651072Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.796519719Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"session_id":"be0b5a27-254c-44a3-a3bb-0d4b9b675529"} {"msg":"The guest has finished waiting for activation with:178","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.796529058Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851} {"msg":"Activated sub_volume 7c53ec3a-0572-45e0-ac03-157e634054dc","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.796537366Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.796545705Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.796833898Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"task":"crutest"} 01/30 Write block 383 len 36864 data: 14 16 12 14 13 14 15 13 15 02/30 Read block 494 len 28672 03/30 Read block 511 len 36864 04/30 Write block 462 len 24576 data: 13 11 9 8 11 13 05/30 Flush 06/30 Write block 267 len 8192 data: 14 12 07/30 Write block 85 len 8192 data: 15 13 08/30 Read block 378 len 40960 09/30 Read block 29 len 16384 10/30 Read block 581 len 40960 11/30 Write block 394 len 36864 data: 15 15 13 16 18 18 19 17 19 12/30 Read block 257 len 28672 13/30 Write block 489 len 40960 data: 12 13 10 9 9 11 10 8 11 12 14/30 Read block 355 len 32768 15/30 Flush 16/30 Write block 528 len 40960 data: 8 9 10 10 9 7 7 7 7 9 17/30 Read block 501 len 40960 18/30 Read block 249 len 12288 19/30 Write block 483 len 16384 data: 11 11 10 12 20/30 Write block 384 len 36864 data: 17 13 15 14 15 16 14 16 15 21/30 Read block 267 len 36864 22/30 Read block 224 len 36864 23/30 Read block 296 len 36864 24/30 Flush 25/30 Write block 158 len 28672 data: 12 12 8 10 12 12 16 26/30 Read block 443 len 36864 27/30 Read block 60 len 24576 28/30 Read block 322 len 36864 29/30 Write block 465 len 20480 data: 9 12 14 14 14 30/30 Write block 331 len 12288 data: 12 12 12 ---------------------------------------------------------------- Crucible gen:178 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 9 Sent Done Done false 1001 Acked Read 7 Sent Done Done false 1002 Acked Read 9 Sent Done Done false 1003 Acked Write 6 Sent Done Done false 1004 Acked Flush 0 Sent Done Done false 1005 Acked Write 2 Sent Done Done false 1006 Acked Write 2 Sent Done Done false 1007 Acked Read 10 Sent Done Done false 1008 Acked Read 4 Sent Done Done false 1009 Acked Read 10 Sent Done Done false 1010 Acked Write 9 Sent Done Done false 1011 Acked Read 7 Sent Done Done false 1012 Acked Write 10 Sent Done Done false 1013 Acked Read 8 Sent Done Done false 1014 Acked Flush 0 Sent Done Done false 1015 Acked Write 10 Sent Done Done false 1016 Acked Read 10 Sent Done Done false 1017 Acked Read 3 Sent Done Done false 1018 Acked Write 4 Sent Done Done false 1019 Acked Write 9 Sent Done Done false 1020 Acked Read 9 Sent Done Done false 1021 Acked Read 9 Sent Done Done false 1022 Acked Read 9 Sent Done Done false 1023 Acked Flush 0 Sent Done Done false 1024 Acked Write 7 Sent Done Done false 1025 Acked Read 9 Sent Done Done false 1026 Acked Read 6 Sent Done Done false 1027 Acked Read 9 Sent Done Done false 1028 Acked Write 5 Sent Sent Sent false 1029 Acked Write 3 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 30 2 2 34 Done 0 28 28 56 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: None Some(JobId(1023)) Some(JobId(1023)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:48:21.806008192Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:21.806307784Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1851,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 172 172 172 289 289 289 F F F 1 020-039 176 176 176 296 296 296 F F F 2 040-059 176 176 176 296 296 296 F F F 3 060-079 174 174 174 291 291 291 F F F 4 080-099 176 178 178 296 299 299 F F F <--- 5 100-119 171 171 171 288 288 288 F F F 6 120-139 166 166 166 282 282 282 F F F 7 140-159 177 177 177 297 297 297 F T T <--- 8 160-179 168 168 168 286 286 286 F T T <--- 9 180-199 172 172 172 289 289 289 F F F 10 200-219 176 176 176 296 296 296 F F F 11 220-239 176 176 176 296 296 296 F F F 12 240-259 177 177 177 297 297 297 F F F 13 260-279 172 178 178 289 299 299 F F F <--- 14 280-299 176 176 176 296 296 296 F F F 15 300-319 174 174 174 291 291 291 F F F 16 320-339 174 174 174 291 291 291 F T T <--- 17 340-359 176 176 176 296 296 296 F F F 18 360-379 175 175 175 295 295 295 F F F 19 380-399 177 178 178 297 300 300 F F F <--- 20 400-419 171 178 178 288 299 299 F F F <--- 21 420-439 174 174 174 291 291 291 F F F 22 440-459 174 174 174 291 291 291 F F F 23 460-479 171 178 178 288 298 298 F T T <--- 24 480-499 167 178 178 285 300 300 F F F <--- 25 500-519 176 176 176 296 296 296 F F F 26 520-539 177 178 178 297 300 300 F F F <--- 27 540-559 171 171 171 288 288 288 F F F 28 560-579 177 177 177 297 297 297 F F F 29 580-599 171 171 171 288 288 288 F F F Max gen: 178, Max flush: 300 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 89 Verifying data now No change after verify Loop: 89 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 172 172 172 289 289 289 F F F 1 020-039 176 176 176 296 296 296 F F F 2 040-059 176 176 176 296 296 296 F F F 3 060-079 174 174 174 291 291 291 F F F 4 080-099 178 178 178 299 299 299 F F F 5 100-119 171 171 171 288 288 288 F F F 6 120-139 166 166 166 282 282 282 F F F 7 140-159 179 179 179 301 301 301 F F F 8 160-179 179 179 179 301 301 301 F F F 9 180-199 172 172 172 289 289 289 F F F 10 200-219 176 176 176 296 296 296 F F F 11 220-239 176 176 176 296 296 296 F F F 12 240-259 177 177 177 297 297 297 F F F 13 260-279 178 178 178 299 299 299 F F F 14 280-299 176 176 176 296 296 296 F F F 15 300-319 174 174 174 291 291 291 F F F 16 320-339 179 179 179 301 301 301 F F F 17 340-359 176 176 176 296 296 296 F F F 18 360-379 175 175 175 295 295 295 F F F 19 380-399 178 178 178 300 300 300 F F F 20 400-419 178 178 178 299 299 299 F F F 21 420-439 174 174 174 291 291 291 F F F 22 440-459 174 174 174 291 291 291 F F F 23 460-479 179 179 179 301 301 301 F F F 24 480-499 178 178 178 300 300 300 F F F 25 500-519 176 176 176 296 296 296 F F F 26 520-539 178 178 178 300 300 300 F F F 27 540-559 171 171 171 288 288 288 F F F 28 560-579 177 177 177 297 297 297 F F F 29 580-599 171 171 171 288 288 288 F F F Max gen: 179, Max flush: 301 Begin loop 90 Downstairs to restart: 0 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.0491395Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"task":"crutest"} {"msg":"Failed to get info from \"http://127.0.0.1:12810\" Communication Error: error sending request for url (http://127.0.0.1:12810/region-info)","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:48:26.056344466Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"task":"crutest"} {"msg":"look at: http://127.0.0.1:12820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.056418997Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008820, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.063263039Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.063530565Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.06356732Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.063577109Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.063588987Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859} {"msg":"Crucible 7f833778-e2dd-4485-ac1b-a95ebaf0e5e9 has session id: cd983d92-f930-4767-868d-c7cdec4a0935","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.063905007Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"Upstairs opts: Upstairs UUID: 7f833778-e2dd-4485-ac1b-a95ebaf0e5e9, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.063934863Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"Crucible stats registered with UUID: 7f833778-e2dd-4485-ac1b-a95ebaf0e5e9","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.063948691Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:48:26.06395814Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.064090013Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"":"io task","client":"0","":"downstairs","session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.064106171Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"":"io task","client":"1","":"downstairs","session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.064120289Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"":"io task","client":"2","":"downstairs","session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.064248373Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"task":"crutest"} {"msg":"The guest has requested activation with gen:180","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.06427239Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859} {"msg":"7f833778-e2dd-4485-ac1b-a95ebaf0e5e9 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.064285138Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.064294317Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"client":"0","":"downstairs","session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.064304195Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"client":"1","":"downstairs","session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.064314124Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"client":"2","":"downstairs","session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.064323923Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"":"io task","client":"0","":"downstairs","session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.064334222Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"":"io task","client":"2","":"downstairs","session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.064354519Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"":"io task","client":"1","":"downstairs","session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"ds_connection connected from Ok(127.0.0.1:40339)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.064401113Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"":"io task","client":"0","":"downstairs","session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"ds_connection connected from Ok(127.0.0.1:59297)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.064414421Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"":"io task","client":"1","":"downstairs","session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"ds_connection connected from Ok(127.0.0.1:46358)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.064547134Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"":"io task","client":"2","":"downstairs","session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.065058059Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"client":"2","":"downstairs","session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.065087115Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"client":"1","":"downstairs","session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.065233016Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"client":"0","":"downstairs","session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.065432211Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.06544215Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"[0]R flush_numbers[0..12]: [289, 296, 296, 291, 299, 288, 282, 301, 301, 289, 296, 296]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.065534328Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"":"downstairs","":"downstairs","session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"[0]R generation[0..12]: [172, 176, 176, 174, 178, 171, 166, 179, 179, 172, 176, 176]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.065545856Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"":"downstairs","":"downstairs","session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.065557265Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"":"downstairs","":"downstairs","session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"[1]R flush_numbers[0..12]: [289, 296, 296, 291, 299, 288, 282, 301, 301, 289, 296, 296]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.065568043Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"":"downstairs","":"downstairs","session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"[1]R generation[0..12]: [172, 176, 176, 174, 178, 171, 166, 179, 179, 172, 176, 176]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.065578892Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"":"downstairs","":"downstairs","session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.065590191Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"":"downstairs","":"downstairs","session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"[2]R flush_numbers[0..12]: [289, 296, 296, 291, 299, 288, 282, 301, 301, 289, 296, 296]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.065601009Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"":"downstairs","":"downstairs","session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"[2]R generation[0..12]: [172, 176, 176, 174, 178, 171, 166, 179, 179, 172, 176, 176]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.065614457Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"":"downstairs","":"downstairs","session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.065625696Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"":"downstairs","":"downstairs","session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"Max found gen is 180","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.065635365Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"":"downstairs","":"downstairs","session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"Generation requested: 180 >= found:180","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.065645443Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"":"downstairs","":"downstairs","session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"Next flush: 302","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.065655002Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"":"downstairs","":"downstairs","session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.065664621Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"":"downstairs","":"downstairs","session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.06567468Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.065683939Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"client":"0","":"downstairs","session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.065693917Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"client":"1","":"downstairs","session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.065703926Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"client":"2","":"downstairs","session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.065713955Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.065723423Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"7f833778-e2dd-4485-ac1b-a95ebaf0e5e9 is now active with session: cd983d92-f930-4767-868d-c7cdec4a0935","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.065742801Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.06575198Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"session_id":"cd983d92-f930-4767-868d-c7cdec4a0935"} {"msg":"The guest has finished waiting for activation with:180","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.065761269Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859} {"msg":"Activated sub_volume 7f833778-e2dd-4485-ac1b-a95ebaf0e5e9","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.065769538Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.065779096Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.066117143Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"task":"crutest"} 01/30 Write block 481 len 4096 data: 9 02/30 Read block 479 len 20480 03/30 Write block 84 len 4096 data: 14 04/30 Write block 525 len 32768 data: 9 8 8 9 10 11 11 10 05/30 Read block 389 len 8192 06/30 Flush 07/30 Write block 388 len 20480 data: 16 17 15 17 16 08/30 Write block 227 len 20480 data: 14 14 11 12 11 09/30 Write block 540 len 36864 data: 13 15 18 17 17 15 14 15 12 10/30 Write block 517 len 20480 data: 13 10 9 9 8 11/30 Write block 555 len 24576 data: 18 19 19 18 16 16 12/30 Write block 154 len 36864 data: 12 13 12 11 13 13 9 11 13 13/30 Write block 2 len 24576 data: 6 8 5 9 10 12 14/30 Read block 249 len 28672 15/30 Write block 74 len 8192 data: 15 14 16/30 Write block 152 len 36864 data: 11 10 13 14 13 12 14 14 10 17/30 Read block 418 len 4096 18/30 Write block 521 len 16384 data: 9 8 7 8 19/30 Read block 34 len 28672 20/30 Read block 78 len 4096 21/30 Write block 99 len 24576 data: 12 12 13 15 14 13 22/30 Flush 23/30 Write block 502 len 36864 data: 16 16 16 14 12 15 14 15 15 24/30 Read block 516 len 40960 25/30 Flush 26/30 Flush 27/30 Write block 527 len 20480 data: 9 10 11 12 12 28/30 Read block 301 len 12288 29/30 Read block 342 len 12288 30/30 Write block 98 len 4096 data: 12 ---------------------------------------------------------------- Crucible gen:180 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 1 Done Done Done false 1001 Acked Read 5 Sent Done Done false 1002 Acked Write 1 Sent Done Done false 1003 Acked Write 8 Sent Done Done false 1004 Acked Read 2 Sent Done Done false 1005 Acked Flush 0 Sent Done Done false 1006 Acked Write 5 Sent Done Done false 1007 Acked Write 5 Sent Done Done false 1008 Acked Write 9 Sent Done Done false 1009 Acked Write 5 Sent Done Done false 1010 Acked Write 6 Sent Done Done false 1011 Acked Write 9 Sent Done Done false 1012 Acked Write 6 Sent Done Done false 1013 Acked Read 7 Sent Done Done false 1014 Acked Write 2 Sent Done Done false 1015 Acked Write 9 Sent Done Done false 1016 Acked Read 1 Sent Done Done false 1017 Acked Write 4 Sent Done Done false 1018 Acked Read 7 Sent Done Done false 1019 Acked Read 1 Sent Done Done false 1020 Acked Write 6 Sent Done Done false 1021 Acked Flush 0 Sent Done Done false 1022 Acked Write 9 Sent Done Done false 1023 Acked Read 10 Sent Done Done false 1024 Acked Flush 0 Sent Done Done false 1025 Acked Flush 0 Sent Done Done false 1026 Acked Write 5 Sent Done Done false 1027 Acked Read 3 Sent Done Done false 1028 Acked Read 3 Sent Done Done false 1029 Acked Write 1 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 29 1 1 31 Done 1 29 29 59 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: None Some(JobId(1025)) Some(JobId(1025)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:48:26.073637949Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:26.07393914Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1859,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 172 180 180 289 303 303 F F F <--- 1 020-039 176 176 176 296 296 296 F F F 2 040-059 176 176 176 296 296 296 F F F 3 060-079 174 180 180 291 303 303 F F F <--- 4 080-099 178 180 180 299 303 303 F T T <--- 5 100-119 171 180 180 288 303 303 F F F <--- 6 120-139 166 166 166 282 282 282 F F F 7 140-159 179 180 180 301 303 303 F F F <--- 8 160-179 179 180 180 301 303 303 F F F <--- 9 180-199 172 172 172 289 289 289 F F F 10 200-219 176 176 176 296 296 296 F F F 11 220-239 176 180 180 296 303 303 F F F <--- 12 240-259 177 177 177 297 297 297 F F F 13 260-279 178 178 178 299 299 299 F F F 14 280-299 176 176 176 296 296 296 F F F 15 300-319 174 174 174 291 291 291 F F F 16 320-339 179 179 179 301 301 301 F F F 17 340-359 176 176 176 296 296 296 F F F 18 360-379 175 175 175 295 295 295 F F F 19 380-399 178 180 180 300 303 303 F F F <--- 20 400-419 178 178 178 299 299 299 F F F 21 420-439 174 174 174 291 291 291 F F F 22 440-459 174 174 174 291 291 291 F F F 23 460-479 179 179 179 301 301 301 F F F 24 480-499 178 180 180 300 302 302 T F F <--- 25 500-519 176 180 180 296 304 304 F F F <--- 26 520-539 178 180 180 300 303 303 F T T <--- 27 540-559 171 180 180 288 303 303 F F F <--- 28 560-579 177 180 180 297 303 303 F F F <--- 29 580-599 171 171 171 288 288 288 F F F Max gen: 180, Max flush: 304 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 90 Verifying data now No change after verify Loop: 90 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 180 180 180 303 303 303 F F F 1 020-039 176 176 176 296 296 296 F F F 2 040-059 176 176 176 296 296 296 F F F 3 060-079 180 180 180 303 303 303 F F F 4 080-099 181 181 181 305 305 305 F F F 5 100-119 180 180 180 303 303 303 F F F 6 120-139 166 166 166 282 282 282 F F F 7 140-159 180 180 180 303 303 303 F F F 8 160-179 180 180 180 303 303 303 F F F 9 180-199 172 172 172 289 289 289 F F F 10 200-219 176 176 176 296 296 296 F F F 11 220-239 180 180 180 303 303 303 F F F 12 240-259 177 177 177 297 297 297 F F F 13 260-279 178 178 178 299 299 299 F F F 14 280-299 176 176 176 296 296 296 F F F 15 300-319 174 174 174 291 291 291 F F F 16 320-339 179 179 179 301 301 301 F F F 17 340-359 176 176 176 296 296 296 F F F 18 360-379 175 175 175 295 295 295 F F F 19 380-399 180 180 180 303 303 303 F F F 20 400-419 178 178 178 299 299 299 F F F 21 420-439 174 174 174 291 291 291 F F F 22 440-459 174 174 174 291 291 291 F F F 23 460-479 179 179 179 301 301 301 F F F 24 480-499 180 180 180 302 302 302 F F F 25 500-519 180 180 180 304 304 304 F F F 26 520-539 181 181 181 305 305 305 F F F 27 540-559 180 180 180 303 303 303 F F F 28 560-579 180 180 180 303 303 303 F F F 29 580-599 171 171 171 288 288 288 F F F Max gen: 181, Max flush: 305 Begin loop 91 Downstairs to restart: 0 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.315587489Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"task":"crutest"} {"msg":"Failed to get info from \"http://127.0.0.1:12810\" Communication Error: error sending request for url (http://127.0.0.1:12810/region-info)","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:48:30.322740132Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"task":"crutest"} {"msg":"look at: http://127.0.0.1:12820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.322815363Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008820, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.329630399Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.32992859Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.329962886Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.329974654Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.329986533Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867} {"msg":"Crucible 044a942d-b232-47ee-8cfe-54ab642d83f3 has session id: 9b3dd63a-4300-4f0e-84eb-e5999c58226b","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.330339838Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"Upstairs opts: Upstairs UUID: 044a942d-b232-47ee-8cfe-54ab642d83f3, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.330369224Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"Crucible stats registered with UUID: 044a942d-b232-47ee-8cfe-54ab642d83f3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.330380482Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:48:30.330389881Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.330549801Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"":"io task","client":"2","":"downstairs","session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.330565129Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"":"io task","client":"1","":"downstairs","session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.330575387Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"":"io task","client":"0","":"downstairs","session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.330719869Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"task":"crutest"} {"msg":"The guest has requested activation with gen:182","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.330743666Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867} {"msg":"044a942d-b232-47ee-8cfe-54ab642d83f3 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.330780351Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.33078995Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"client":"0","":"downstairs","session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.330800189Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"client":"1","":"downstairs","session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.330812257Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"client":"2","":"downstairs","session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.330822126Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"":"io task","client":"2","":"downstairs","session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.330832214Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"":"io task","client":"0","":"downstairs","session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.330842323Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"":"io task","client":"1","":"downstairs","session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"ds_connection connected from Ok(127.0.0.1:64187)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.330896096Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"":"io task","client":"0","":"downstairs","session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"ds_connection connected from Ok(127.0.0.1:60359)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.330907345Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"":"io task","client":"2","":"downstairs","session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"ds_connection connected from Ok(127.0.0.1:45022)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.331002743Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"":"io task","client":"1","":"downstairs","session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.331577239Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"client":"1","":"downstairs","session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.33172312Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"client":"2","":"downstairs","session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.331779033Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"client":"0","":"downstairs","session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.331904297Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.332067636Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"[0]R flush_numbers[0..12]: [303, 296, 296, 303, 305, 303, 282, 303, 303, 289, 296, 303]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.332135827Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"":"downstairs","":"downstairs","session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"[0]R generation[0..12]: [180, 176, 176, 180, 181, 180, 166, 180, 180, 172, 176, 180]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.332147306Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"":"downstairs","":"downstairs","session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.332158604Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"":"downstairs","":"downstairs","session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"[1]R flush_numbers[0..12]: [303, 296, 296, 303, 305, 303, 282, 303, 303, 289, 296, 303]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.332171493Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"":"downstairs","":"downstairs","session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"[1]R generation[0..12]: [180, 176, 176, 180, 181, 180, 166, 180, 180, 172, 176, 180]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.332182431Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"":"downstairs","":"downstairs","session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.33219369Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"":"downstairs","":"downstairs","session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"[2]R flush_numbers[0..12]: [303, 296, 296, 303, 305, 303, 282, 303, 303, 289, 296, 303]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.332204778Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"":"downstairs","":"downstairs","session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"[2]R generation[0..12]: [180, 176, 176, 180, 181, 180, 166, 180, 180, 172, 176, 180]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.332215467Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"":"downstairs","":"downstairs","session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.332226426Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"":"downstairs","":"downstairs","session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"Max found gen is 182","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.332235904Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"":"downstairs","":"downstairs","session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"Generation requested: 182 >= found:182","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.332245783Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"":"downstairs","":"downstairs","session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"Next flush: 306","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.332255252Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"":"downstairs","":"downstairs","session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.332264751Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"":"downstairs","":"downstairs","session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.33227451Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.332283578Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"client":"0","":"downstairs","session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.332293907Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"client":"1","":"downstairs","session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.332303986Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"client":"2","":"downstairs","session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.332314154Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.332324643Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"044a942d-b232-47ee-8cfe-54ab642d83f3 is now active with session: 9b3dd63a-4300-4f0e-84eb-e5999c58226b","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.332334692Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.332343501Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"session_id":"9b3dd63a-4300-4f0e-84eb-e5999c58226b"} {"msg":"The guest has finished waiting for activation with:182","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.332352799Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867} {"msg":"Activated sub_volume 044a942d-b232-47ee-8cfe-54ab642d83f3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.332360958Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.332369277Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.332687957Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"task":"crutest"} 01/30 Write block 291 len 12288 data: 17 18 21 02/30 Flush 03/30 Write block 349 len 4096 data: 17 04/30 Read block 210 len 12288 05/30 Read block 107 len 32768 06/30 Flush 07/30 Write block 42 len 8192 data: 5 8 08/30 Write block 78 len 28672 data: 10 11 10 13 12 13 15 09/30 Flush 10/30 Write block 10 len 32768 data: 17 19 15 12 12 9 8 8 11/30 Write block 391 len 24576 data: 18 17 16 16 16 14 12/30 Write block 8 len 16384 data: 17 18 18 20 13/30 Read block 16 len 12288 14/30 Write block 341 len 4096 data: 22 15/30 Read block 138 len 24576 16/30 Read block 39 len 4096 17/30 Flush 18/30 Write block 521 len 4096 data: 10 19/30 Read block 152 len 40960 20/30 Write block 342 len 20480 data: 20 23 20 18 18 21/30 Read block 51 len 40960 22/30 Read block 484 len 24576 23/30 Read block 195 len 16384 24/30 Read block 554 len 12288 25/30 Read block 403 len 20480 26/30 Write block 166 len 32768 data: 15 15 13 12 13 10 9 9 27/30 Write block 363 len 20480 data: 15 13 15 14 13 28/30 Read block 484 len 20480 29/30 Read block 123 len 4096 30/30 Read block 175 len 8192 ---------------------------------------------------------------- Crucible gen:182 GIO:true work queues: Upstairs:0 downstairs:28 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1002 Acked Write 1 Done Done Done false 1003 Acked Read 3 Done Done Done false 1004 Acked Read 8 Done Done Done false 1005 Acked Flush 0 Sent Done Done false 1006 Acked Write 2 Sent Done Done false 1007 Acked Write 7 Sent Done Done false 1008 Acked Flush 0 Sent Done Done false 1009 Acked Write 8 Sent Done Done false 1010 Acked Write 6 Sent Done Done false 1011 Acked Write 4 Sent Done Done false 1012 Acked Read 3 Sent Done Done false 1013 Acked Write 1 Sent Done Done false 1014 Acked Read 6 Sent Done Done false 1015 Acked Read 1 Sent Done Done false 1016 Acked Flush 0 Sent Done Done false 1017 Acked Write 1 Sent Done Done false 1018 Acked Read 10 Sent Done Done false 1019 Acked Write 5 Sent Done Done false 1020 Acked Read 10 Sent Done Done false 1021 Acked Read 6 Sent Done Done false 1022 Acked Read 4 Sent Done Done false 1023 Acked Read 3 Sent Done Done false 1024 Acked Read 5 Sent Done Done false 1025 Acked Write 8 Sent Done Done false 1026 Acked Write 5 Sent Done Done false 1027 Acked Read 5 Sent Done Done false 1028 Acked Read 1 Sent Done Done false 1029 Acked Read 2 Sent Sent Done false STATES DS:0 DS:1 DS:2 TOTAL Sent 25 1 0 26 Done 3 27 28 58 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1001)) Some(JobId(1016)) Some(JobId(1016)) Downstairs last five completed: 1001 1000 Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:48:30.340961106Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:30.341249719Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1867,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 180 182 182 303 309 309 F F F <--- 1 020-039 176 176 176 296 296 296 F F F 2 040-059 176 182 182 296 308 308 F F F <--- 3 060-079 180 182 182 303 308 308 F F F <--- 4 080-099 181 182 182 305 308 308 F F F <--- 5 100-119 180 180 180 303 303 303 F F F 6 120-139 166 166 166 282 282 282 F F F 7 140-159 180 180 180 303 303 303 F F F 8 160-179 180 180 180 303 303 303 F T T <--- 9 180-199 172 172 172 289 289 289 F F F 10 200-219 176 176 176 296 296 296 F F F 11 220-239 180 180 180 303 303 303 F F F 12 240-259 177 177 177 297 297 297 F F F 13 260-279 178 178 178 299 299 299 F F F 14 280-299 182 182 182 306 306 306 F F F 15 300-319 174 174 174 291 291 291 F F F 16 320-339 179 179 179 301 301 301 F F F 17 340-359 176 182 182 296 309 309 T T T <--- 18 360-379 175 175 175 295 295 295 F T T <--- 19 380-399 180 182 182 303 309 309 F F F <--- 20 400-419 178 178 178 299 299 299 F F F 21 420-439 174 174 174 291 291 291 F F F 22 440-459 174 174 174 291 291 291 F F F 23 460-479 179 179 179 301 301 301 F F F 24 480-499 180 180 180 302 302 302 F F F 25 500-519 180 180 180 304 304 304 F F F 26 520-539 181 181 181 305 305 305 F T T <--- 27 540-559 180 180 180 303 303 303 F F F 28 560-579 180 180 180 303 303 303 F F F 29 580-599 171 171 171 288 288 288 F F F Max gen: 182, Max flush: 309 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 91 Verifying data now No change after verify Loop: 91 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 182 182 182 309 309 309 F F F 1 020-039 176 176 176 296 296 296 F F F 2 040-059 182 182 182 308 308 308 F F F 3 060-079 182 182 182 308 308 308 F F F 4 080-099 182 182 182 308 308 308 F F F 5 100-119 180 180 180 303 303 303 F F F 6 120-139 166 166 166 282 282 282 F F F 7 140-159 180 180 180 303 303 303 F F F 8 160-179 183 183 183 310 310 310 F F F 9 180-199 172 172 172 289 289 289 F F F 10 200-219 176 176 176 296 296 296 F F F 11 220-239 180 180 180 303 303 303 F F F 12 240-259 177 177 177 297 297 297 F F F 13 260-279 178 178 178 299 299 299 F F F 14 280-299 182 182 182 306 306 306 F F F 15 300-319 174 174 174 291 291 291 F F F 16 320-339 179 179 179 301 301 301 F F F 17 340-359 183 183 183 310 310 310 F F F 18 360-379 183 183 183 310 310 310 F F F 19 380-399 182 182 182 309 309 309 F F F 20 400-419 178 178 178 299 299 299 F F F 21 420-439 174 174 174 291 291 291 F F F 22 440-459 174 174 174 291 291 291 F F F 23 460-479 179 179 179 301 301 301 F F F 24 480-499 180 180 180 302 302 302 F F F 25 500-519 180 180 180 304 304 304 F F F 26 520-539 183 183 183 310 310 310 F F F 27 540-559 180 180 180 303 303 303 F F F 28 560-579 180 180 180 303 303 303 F F F 29 580-599 171 171 171 288 288 288 F F F Max gen: 183, Max flush: 310 Begin loop 92 Downstairs to restart: 2 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.581206915Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.589549705Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.589857376Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.589888452Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.589897271Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.589909089Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875} {"msg":"Crucible 29ee2320-3621-4e08-8fef-691ade89669c has session id: 7ad46402-ebdd-4508-9432-78d29f07edc3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.590248365Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"Upstairs opts: Upstairs UUID: 29ee2320-3621-4e08-8fef-691ade89669c, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.590279362Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"Crucible stats registered with UUID: 29ee2320-3621-4e08-8fef-691ade89669c","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.59028981Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:48:34.590299329Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.590453729Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"":"io task","client":"2","":"downstairs","session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.590481776Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"":"io task","client":"0","":"downstairs","session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.590492804Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"":"io task","client":"1","":"downstairs","session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.590620178Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"task":"crutest"} {"msg":"The guest has requested activation with gen:184","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.590649154Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875} {"msg":"29ee2320-3621-4e08-8fef-691ade89669c active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.590667702Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.59067866Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"client":"0","":"downstairs","session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.590688839Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"client":"1","":"downstairs","session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.590698848Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"client":"2","":"downstairs","session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.590708606Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"":"io task","client":"2","":"downstairs","session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.590718875Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"":"io task","client":"0","":"downstairs","session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.590750131Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"":"io task","client":"1","":"downstairs","session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"ds_connection connected from Ok(127.0.0.1:62465)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.590773988Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"":"io task","client":"2","":"downstairs","session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"ds_connection connected from Ok(127.0.0.1:63172)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.590789346Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"":"io task","client":"0","":"downstairs","session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"ds_connection connected from Ok(127.0.0.1:42375)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.590800125Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"":"io task","client":"1","":"downstairs","session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.591507744Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"client":"1","":"downstairs","session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.591533461Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"client":"2","":"downstairs","session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.591545239Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"client":"0","":"downstairs","session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.591831382Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.591842951Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"[0]R flush_numbers[0..12]: [309, 296, 308, 308, 308, 303, 282, 303, 310, 289, 296, 303]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.591879566Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"":"downstairs","":"downstairs","session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"[0]R generation[0..12]: [182, 176, 182, 182, 182, 180, 166, 180, 183, 172, 176, 180]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.591893654Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"":"downstairs","":"downstairs","session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.591904793Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"":"downstairs","":"downstairs","session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"[1]R flush_numbers[0..12]: [309, 296, 308, 308, 308, 303, 282, 303, 310, 289, 296, 303]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.591915672Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"":"downstairs","":"downstairs","session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"[1]R generation[0..12]: [182, 176, 182, 182, 182, 180, 166, 180, 183, 172, 176, 180]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.59192626Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"":"downstairs","":"downstairs","session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.591937559Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"":"downstairs","":"downstairs","session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"[2]R flush_numbers[0..12]: [309, 296, 308, 308, 308, 303, 282, 303, 310, 289, 296, 303]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.591948397Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"":"downstairs","":"downstairs","session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"[2]R generation[0..12]: [182, 176, 182, 182, 182, 180, 166, 180, 183, 172, 176, 180]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.591959006Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"":"downstairs","":"downstairs","session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.591969905Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"":"downstairs","":"downstairs","session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"Max found gen is 184","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.591979403Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"":"downstairs","":"downstairs","session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"Generation requested: 184 >= found:184","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.591989392Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"":"downstairs","":"downstairs","session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"Next flush: 311","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.591998871Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"":"downstairs","":"downstairs","session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.59200859Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"":"downstairs","":"downstairs","session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.592018768Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.592027737Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"client":"0","":"downstairs","session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.592037756Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"client":"1","":"downstairs","session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.592048815Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"client":"2","":"downstairs","session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.592058843Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.592068212Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"29ee2320-3621-4e08-8fef-691ade89669c is now active with session: 7ad46402-ebdd-4508-9432-78d29f07edc3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.592078371Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.5920873Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"session_id":"7ad46402-ebdd-4508-9432-78d29f07edc3"} {"msg":"The guest has finished waiting for activation with:184","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.592096878Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875} {"msg":"Activated sub_volume 29ee2320-3621-4e08-8fef-691ade89669c","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.592105057Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.592113396Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.59247476Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"task":"crutest"} 01/30 Write block 563 len 12288 data: 13 12 14 02/30 Write block 320 len 32768 data: 11 11 14 16 18 19 18 17 03/30 Write block 594 len 8192 data: 11 8 04/30 Flush 05/30 Write block 591 len 8192 data: 12 9 06/30 Read block 534 len 24576 07/30 Write block 342 len 20480 data: 21 24 21 19 19 08/30 Read block 339 len 8192 09/30 Read block 432 len 24576 10/30 Read block 455 len 36864 11/30 Write block 252 len 8192 data: 13 13 12/30 Write block 557 len 32768 data: 20 19 17 17 12 13 14 13 13/30 Flush 14/30 Write block 334 len 4096 data: 14 15/30 Write block 166 len 24576 data: 16 16 14 13 14 11 16/30 Write block 363 len 24576 data: 16 14 16 15 14 11 17/30 Flush 18/30 Write block 24 len 16384 data: 11 7 9 11 19/30 Read block 578 len 8192 20/30 Read block 408 len 24576 21/30 Read block 448 len 8192 22/30 Write block 574 len 8192 data: 17 17 23/30 Write block 535 len 4096 data: 8 24/30 Write block 122 len 40960 data: 11 11 11 11 8 8 8 9 10 11 25/30 Read block 423 len 16384 26/30 Write block 196 len 24576 data: 10 10 9 8 9 9 27/30 Read block 563 len 32768 28/30 Write block 68 len 16384 data: 14 15 16 17 29/30 Read block 273 len 12288 30/30 Write block 88 len 28672 data: 15 13 13 17 16 15 14 ---------------------------------------------------------------- Crucible gen:184 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 3 Done Done Sent false 1001 Acked Write 8 Done Done Sent false 1002 Acked Write 2 Done Done Sent false 1003 Acked Flush 0 Done Done Sent false 1004 Acked Write 2 Done Done Sent false 1005 Acked Read 6 Done Done Sent false 1006 Acked Write 5 Done Done Sent false 1007 Acked Read 2 Done Done Sent false 1008 Acked Read 6 Done Done Sent false 1009 Acked Read 9 Done Done Sent false 1010 Acked Write 2 Done Done Sent false 1011 Acked Write 8 Done Done Sent false 1012 Acked Flush 0 Done Done Sent false 1013 Acked Write 1 Done Done Sent false 1014 Acked Write 6 Done Done Sent false 1015 Acked Write 6 Done Done Sent false 1016 Acked Flush 0 Done Done Sent false 1017 Acked Write 4 Done Done Sent false 1018 Acked Read 2 Done Done Sent false 1019 Acked Read 6 Done Done Sent false 1020 Acked Read 2 Done Done Sent false 1021 Acked Write 2 Done Done Sent false 1022 Acked Write 1 Done Done Sent false 1023 Acked Write 10 Done Done Sent false 1024 Acked Read 4 Done Done Sent false 1025 Acked Write 6 Done Done Sent false 1026 Acked Read 8 Done Done Sent false 1027 Acked Write 4 Done Done Sent false 1028 Acked Read 3 Done Done Sent false 1029 Acked Write 7 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 1 1 30 32 Done 29 29 0 58 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1016)) Some(JobId(1016)) None Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:48:34.599606885Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:34.599905227Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1875,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 182 182 182 309 309 309 F F F 1 020-039 176 176 176 296 296 296 T T F <--- 2 040-059 182 182 182 308 308 308 F F F 3 060-079 182 182 182 308 308 308 T T F <--- 4 080-099 182 182 182 308 308 308 T T F <--- 5 100-119 180 180 180 303 303 303 F F F 6 120-139 166 166 166 282 282 282 T T F <--- 7 140-159 180 180 180 303 303 303 F F F 8 160-179 184 184 183 313 313 310 F F F <--- 9 180-199 172 172 172 289 289 289 T T F <--- 10 200-219 176 176 176 296 296 296 T T F <--- 11 220-239 180 180 180 303 303 303 F F F 12 240-259 184 184 177 312 312 297 F F F <--- 13 260-279 178 178 178 299 299 299 F F F 14 280-299 182 182 182 306 306 306 F F F 15 300-319 174 174 174 291 291 291 F F F 16 320-339 184 184 179 313 313 301 F F F <--- 17 340-359 184 184 183 312 312 310 F F F <--- 18 360-379 184 184 183 313 313 310 F F F <--- 19 380-399 182 182 182 309 309 309 F F F 20 400-419 178 178 178 299 299 299 F F F 21 420-439 174 174 174 291 291 291 F F F 22 440-459 174 174 174 291 291 291 F F F 23 460-479 179 179 179 301 301 301 F F F 24 480-499 180 180 180 302 302 302 F F F 25 500-519 180 180 180 304 304 304 F F F 26 520-539 183 183 183 310 310 310 T T F <--- 27 540-559 184 184 180 312 312 303 F F F <--- 28 560-579 184 184 180 312 312 303 T T F <--- 29 580-599 184 184 171 312 312 288 F F F <--- Max gen: 184, Max flush: 313 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 92 Verifying data now No change after verify Loop: 92 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 182 182 182 309 309 309 F F F 1 020-039 185 185 185 314 314 314 F F F 2 040-059 182 182 182 308 308 308 F F F 3 060-079 185 185 185 314 314 314 F F F 4 080-099 185 185 185 314 314 314 F F F 5 100-119 180 180 180 303 303 303 F F F 6 120-139 185 185 185 314 314 314 F F F 7 140-159 180 180 180 303 303 303 F F F 8 160-179 184 184 184 313 313 313 F F F 9 180-199 185 185 185 314 314 314 F F F 10 200-219 185 185 185 314 314 314 F F F 11 220-239 180 180 180 303 303 303 F F F 12 240-259 184 184 184 312 312 312 F F F 13 260-279 178 178 178 299 299 299 F F F 14 280-299 182 182 182 306 306 306 F F F 15 300-319 174 174 174 291 291 291 F F F 16 320-339 184 184 184 313 313 313 F F F 17 340-359 184 184 184 312 312 312 F F F 18 360-379 184 184 184 313 313 313 F F F 19 380-399 182 182 182 309 309 309 F F F 20 400-419 178 178 178 299 299 299 F F F 21 420-439 174 174 174 291 291 291 F F F 22 440-459 174 174 174 291 291 291 F F F 23 460-479 179 179 179 301 301 301 F F F 24 480-499 180 180 180 302 302 302 F F F 25 500-519 180 180 180 304 304 304 F F F 26 520-539 185 185 185 314 314 314 F F F 27 540-559 184 184 184 312 312 312 F F F 28 560-579 185 185 185 314 314 314 F F F 29 580-599 184 184 184 312 312 312 F F F Max gen: 185, Max flush: 314 Begin loop 93 Downstairs to restart: 2 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.845350919Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.853672801Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.854008598Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.854039864Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.854048743Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.854060592Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883} {"msg":"Crucible 98f85ee4-142e-4a24-bb02-0b04c7f47867 has session id: 39f98b43-8a39-4491-9668-fd4af5b205fb","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.854380151Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"Upstairs opts: Upstairs UUID: 98f85ee4-142e-4a24-bb02-0b04c7f47867, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.854405188Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"Crucible stats registered with UUID: 98f85ee4-142e-4a24-bb02-0b04c7f47867","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.854415306Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:48:38.854427115Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.854588234Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"":"io task","client":"0","":"downstairs","session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.85462095Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"":"io task","client":"1","":"downstairs","session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.854632578Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"":"io task","client":"2","":"downstairs","session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.854769451Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"task":"crutest"} {"msg":"The guest has requested activation with gen:186","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.854796257Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883} {"msg":"98f85ee4-142e-4a24-bb02-0b04c7f47867 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.854814015Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.854823204Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"client":"0","":"downstairs","session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.854833193Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"client":"1","":"downstairs","session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.854843131Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"client":"2","":"downstairs","session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.85485302Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"":"io task","client":"2","":"downstairs","session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.854863319Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"":"io task","client":"0","":"downstairs","session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.854873478Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"":"io task","client":"1","":"downstairs","session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"ds_connection connected from Ok(127.0.0.1:37139)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.854918292Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"":"io task","client":"1","":"downstairs","session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"ds_connection connected from Ok(127.0.0.1:34159)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.85492943Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"":"io task","client":"0","":"downstairs","session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"ds_connection connected from Ok(127.0.0.1:58716)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.855043536Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"":"io task","client":"2","":"downstairs","session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.855681054Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"client":"1","":"downstairs","session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.855729428Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"client":"2","":"downstairs","session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.855820856Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"client":"0","":"downstairs","session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.855982875Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.856010052Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"[0]R flush_numbers[0..12]: [309, 314, 308, 314, 314, 303, 314, 303, 313, 314, 314, 303]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.856097101Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"":"downstairs","":"downstairs","session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"[0]R generation[0..12]: [182, 185, 182, 185, 185, 180, 185, 180, 184, 185, 185, 180]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.856108669Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"":"downstairs","":"downstairs","session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.856119818Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"":"downstairs","":"downstairs","session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"[1]R flush_numbers[0..12]: [309, 314, 308, 314, 314, 303, 314, 303, 313, 314, 314, 303]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.856130456Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"":"downstairs","":"downstairs","session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"[1]R generation[0..12]: [182, 185, 182, 185, 185, 180, 185, 180, 184, 185, 185, 180]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.856141255Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"":"downstairs","":"downstairs","session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.856152334Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"":"downstairs","":"downstairs","session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"[2]R flush_numbers[0..12]: [309, 314, 308, 314, 314, 303, 314, 303, 313, 314, 314, 303]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.856163042Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"":"downstairs","":"downstairs","session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"[2]R generation[0..12]: [182, 185, 182, 185, 185, 180, 185, 180, 184, 185, 185, 180]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.856173751Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"":"downstairs","":"downstairs","session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.856184739Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"":"downstairs","":"downstairs","session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"Max found gen is 186","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.856194488Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"":"downstairs","":"downstairs","session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"Generation requested: 186 >= found:186","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.856204467Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"":"downstairs","":"downstairs","session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"Next flush: 315","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.856213976Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"":"downstairs","":"downstairs","session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.856223584Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"":"downstairs","":"downstairs","session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.856234833Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.856243842Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"client":"0","":"downstairs","session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.856253671Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"client":"1","":"downstairs","session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.856263419Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"client":"2","":"downstairs","session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.856273348Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.856282697Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"98f85ee4-142e-4a24-bb02-0b04c7f47867 is now active with session: 39f98b43-8a39-4491-9668-fd4af5b205fb","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.856292716Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.856301514Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"session_id":"39f98b43-8a39-4491-9668-fd4af5b205fb"} {"msg":"The guest has finished waiting for activation with:186","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.856310903Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883} {"msg":"Activated sub_volume 98f85ee4-142e-4a24-bb02-0b04c7f47867","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.856319182Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.856327411Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.856683045Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"task":"crutest"} 01/30 Write block 128 len 36864 data: 9 10 11 12 11 12 9 8 10 02/30 Flush 03/30 Write block 255 len 32768 data: 9 9 9 11 12 13 13 11 04/30 Read block 251 len 12288 05/30 Write block 170 len 8192 data: 15 12 06/30 Write block 551 len 8192 data: 11 12 07/30 Flush 08/30 Write block 117 len 16384 data: 10 9 11 12 09/30 Read block 319 len 8192 10/30 Flush 11/30 Write block 204 len 28672 data: 10 12 14 17 18 17 17 12/30 Read block 1 len 24576 13/30 Write block 235 len 36864 data: 14 14 15 12 15 17 15 15 14 14/30 Write block 134 len 16384 data: 10 9 11 11 15/30 Write block 286 len 16384 data: 16 18 18 18 16/30 Read block 342 len 40960 17/30 Read block 451 len 32768 18/30 Read block 384 len 4096 19/30 Flush 20/30 Write block 494 len 24576 data: 12 11 9 12 13 14 21/30 Write block 398 len 16384 data: 19 19 20 18 22/30 Read block 21 len 12288 23/30 Write block 108 len 28672 data: 13 9 11 11 14 11 9 24/30 Write block 518 len 28672 data: 11 10 10 11 9 8 9 25/30 Read block 352 len 24576 26/30 Read block 440 len 36864 27/30 Read block 338 len 16384 28/30 Read block 511 len 40960 29/30 Write block 237 len 40960 data: 16 13 16 18 16 16 15 14 15 15 30/30 Write block 397 len 20480 data: 17 20 20 21 19 ---------------------------------------------------------------- Crucible gen:186 GIO:true work queues: Upstairs:0 downstairs:28 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1002 Acked Write 8 Done Done Done false 1003 Acked Read 3 Done Done Sent false 1004 Acked Write 2 Done Done Sent false 1005 Acked Write 2 Done Done Sent false 1006 Acked Flush 0 Done Done Sent false 1007 Acked Write 4 Done Done Sent false 1008 Acked Read 2 Done Done Sent false 1009 Acked Flush 0 Done Done Sent false 1010 Acked Write 7 Done Done Sent false 1011 Acked Read 6 Done Done Sent false 1012 Acked Write 9 Done Done Sent false 1013 Acked Write 4 Done Done Sent false 1014 Acked Write 4 Done Done Sent false 1015 Acked Read 10 Done Done Sent false 1016 Acked Read 8 Done Done Sent false 1017 Acked Read 1 Done Done Sent false 1018 Acked Flush 0 Done Done Sent false 1019 Acked Write 6 Done Done Sent false 1020 Acked Write 4 Done Done Sent false 1021 Acked Read 3 Done Done Sent false 1022 Acked Write 7 Done Done Sent false 1023 Acked Write 7 Done Done Sent false 1024 Acked Read 6 Done Done Sent false 1025 Acked Read 9 Done Done Sent false 1026 Acked Read 4 Done Done Sent false 1027 Acked Read 10 Done Done Sent false 1028 Acked Write 10 Sent Sent Sent false 1029 Acked Write 5 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 2 2 27 31 Done 26 26 1 53 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1018)) Some(JobId(1018)) Some(JobId(1001)) Downstairs last five completed: 1001 1000 Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:48:38.864613778Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:38.864889453Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1883,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 182 182 182 309 309 309 F F F 1 020-039 185 185 185 314 314 314 F F F 2 040-059 182 182 182 308 308 308 F F F 3 060-079 185 185 185 314 314 314 F F F 4 080-099 185 185 185 314 314 314 F F F 5 100-119 186 186 180 317 317 303 T T F <--- 6 120-139 186 186 186 318 318 315 F F F <--- 7 140-159 180 180 180 303 303 303 F F F 8 160-179 186 186 184 316 316 313 F F F <--- 9 180-199 185 185 185 314 314 314 F F F 10 200-219 186 186 185 318 318 314 F F F <--- 11 220-239 186 186 180 318 318 303 T T F <--- 12 240-259 186 186 184 318 318 312 T T T <--- 13 260-279 186 186 178 316 316 299 F F T <--- 14 280-299 186 186 182 318 318 306 F F F <--- 15 300-319 174 174 174 291 291 291 F F F 16 320-339 184 184 184 313 313 313 F F F 17 340-359 184 184 184 312 312 312 F F F 18 360-379 184 184 184 313 313 313 F F F 19 380-399 182 182 182 309 309 309 T T F <--- 20 400-419 178 178 178 299 299 299 T T F <--- 21 420-439 174 174 174 291 291 291 F F F 22 440-459 174 174 174 291 291 291 F F F 23 460-479 179 179 179 301 301 301 F F F 24 480-499 180 180 180 302 302 302 T T F <--- 25 500-519 180 180 180 304 304 304 T T F <--- 26 520-539 185 185 185 314 314 314 T T F <--- 27 540-559 186 186 184 316 316 312 F F F <--- 28 560-579 185 185 185 314 314 314 F F F 29 580-599 184 184 184 312 312 312 F F F Max gen: 186, Max flush: 318 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 93 Verifying data now No change after verify Loop: 93 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 182 182 182 309 309 309 F F F 1 020-039 185 185 185 314 314 314 F F F 2 040-059 182 182 182 308 308 308 F F F 3 060-079 185 185 185 314 314 314 F F F 4 080-099 185 185 185 314 314 314 F F F 5 100-119 187 187 187 319 319 319 F F F 6 120-139 186 186 186 318 318 318 F F F 7 140-159 180 180 180 303 303 303 F F F 8 160-179 186 186 186 316 316 316 F F F 9 180-199 185 185 185 314 314 314 F F F 10 200-219 186 186 186 318 318 318 F F F 11 220-239 187 187 187 319 319 319 F F F 12 240-259 187 187 187 319 319 319 F F F 13 260-279 186 186 186 316 316 316 F F F 14 280-299 186 186 186 318 318 318 F F F 15 300-319 174 174 174 291 291 291 F F F 16 320-339 184 184 184 313 313 313 F F F 17 340-359 184 184 184 312 312 312 F F F 18 360-379 184 184 184 313 313 313 F F F 19 380-399 187 187 187 319 319 319 F F F 20 400-419 187 187 187 319 319 319 F F F 21 420-439 174 174 174 291 291 291 F F F 22 440-459 174 174 174 291 291 291 F F F 23 460-479 179 179 179 301 301 301 F F F 24 480-499 187 187 187 319 319 319 F F F 25 500-519 187 187 187 319 319 319 F F F 26 520-539 187 187 187 319 319 319 F F F 27 540-559 186 186 186 316 316 316 F F F 28 560-579 185 185 185 314 314 314 F F F 29 580-599 184 184 184 312 312 312 F F F Max gen: 187, Max flush: 319 Begin loop 94 Downstairs to restart: 2 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.109107962Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.117350145Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.117690251Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.117732326Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.117741205Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.117753023Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891} {"msg":"Crucible bf1b74b1-11e9-41c4-b773-4e7d8cfad72d has session id: f06f043a-3fcd-4bab-88dd-b5e64080d79a","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.11809158Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"Upstairs opts: Upstairs UUID: bf1b74b1-11e9-41c4-b773-4e7d8cfad72d, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.118113057Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"Crucible stats registered with UUID: bf1b74b1-11e9-41c4-b773-4e7d8cfad72d","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.118123216Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:48:43.118135024Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.118319601Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"":"io task","client":"1","":"downstairs","session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.118349107Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"":"io task","client":"0","":"downstairs","session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.118360105Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"":"io task","client":"2","":"downstairs","session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.118459363Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"task":"crutest"} {"msg":"The guest has requested activation with gen:188","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.11848359Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891} {"msg":"bf1b74b1-11e9-41c4-b773-4e7d8cfad72d active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.118496918Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.118506067Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"client":"0","":"downstairs","session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.118515985Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"client":"1","":"downstairs","session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.118525924Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"client":"2","":"downstairs","session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.118535823Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"":"io task","client":"2","":"downstairs","session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.118546052Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"":"io task","client":"0","":"downstairs","session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.118565989Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"":"io task","client":"1","":"downstairs","session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"ds_connection connected from Ok(127.0.0.1:44461)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.118624852Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"":"io task","client":"1","":"downstairs","session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"ds_connection connected from Ok(127.0.0.1:37336)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.11863598Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"":"io task","client":"0","":"downstairs","session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"ds_connection connected from Ok(127.0.0.1:53769)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.118646509Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"":"io task","client":"2","":"downstairs","session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.119361057Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"client":"1","":"downstairs","session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.119389363Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"client":"0","":"downstairs","session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.119401482Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"client":"2","":"downstairs","session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.119716552Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.11972658Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"[0]R flush_numbers[0..12]: [309, 314, 308, 314, 314, 319, 318, 303, 316, 314, 318, 319]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.119760326Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"":"downstairs","":"downstairs","session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"[0]R generation[0..12]: [182, 185, 182, 185, 185, 187, 186, 180, 186, 185, 186, 187]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.119771944Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"":"downstairs","":"downstairs","session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.119783073Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"":"downstairs","":"downstairs","session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"[1]R flush_numbers[0..12]: [309, 314, 308, 314, 314, 319, 318, 303, 316, 314, 318, 319]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.119793832Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"":"downstairs","":"downstairs","session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"[1]R generation[0..12]: [182, 185, 182, 185, 185, 187, 186, 180, 186, 185, 186, 187]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.11980448Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"":"downstairs","":"downstairs","session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.119815579Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"":"downstairs","":"downstairs","session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"[2]R flush_numbers[0..12]: [309, 314, 308, 314, 314, 319, 318, 303, 316, 314, 318, 319]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.119826357Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"":"downstairs","":"downstairs","session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"[2]R generation[0..12]: [182, 185, 182, 185, 185, 187, 186, 180, 186, 185, 186, 187]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.119837026Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"":"downstairs","":"downstairs","session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.119847995Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"":"downstairs","":"downstairs","session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"Max found gen is 188","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.119857743Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"":"downstairs","":"downstairs","session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"Generation requested: 188 >= found:188","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.119869042Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"":"downstairs","":"downstairs","session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"Next flush: 320","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.119878681Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"":"downstairs","":"downstairs","session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.11988823Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"":"downstairs","":"downstairs","session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.119898268Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.119907347Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"client":"0","":"downstairs","session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.119917286Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"client":"1","":"downstairs","session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.119927125Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"client":"2","":"downstairs","session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.119937123Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.119946442Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"bf1b74b1-11e9-41c4-b773-4e7d8cfad72d is now active with session: f06f043a-3fcd-4bab-88dd-b5e64080d79a","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.119956521Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.11996553Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"session_id":"f06f043a-3fcd-4bab-88dd-b5e64080d79a"} {"msg":"The guest has finished waiting for activation with:188","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.119975028Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891} {"msg":"Activated sub_volume bf1b74b1-11e9-41c4-b773-4e7d8cfad72d","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.119983157Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.119991396Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.120327273Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"task":"crutest"} 01/30 Write block 103 len 16384 data: 15 14 13 14 02/30 Write block 377 len 36864 data: 15 16 14 12 13 14 15 18 14 03/30 Read block 212 len 16384 04/30 Write block 68 len 24576 data: 15 16 17 18 16 15 05/30 Read block 541 len 8192 06/30 Read block 296 len 12288 07/30 Read block 303 len 20480 08/30 Read block 449 len 20480 09/30 Read block 128 len 32768 10/30 Read block 331 len 32768 11/30 Read block 48 len 8192 12/30 Write block 291 len 8192 data: 18 19 13/30 Write block 481 len 36864 data: 10 9 12 12 11 13 11 11 13 14/30 Flush 15/30 Write block 319 len 24576 data: 9 12 12 15 17 19 16/30 Write block 285 len 20480 data: 16 17 19 19 19 17/30 Write block 560 len 20480 data: 18 13 14 15 14 18/30 Write block 361 len 28672 data: 13 13 17 15 17 16 15 19/30 Write block 591 len 8192 data: 13 10 20/30 Read block 311 len 40960 21/30 Write block 272 len 20480 data: 14 15 13 15 17 22/30 Read block 370 len 24576 23/30 Write block 296 len 32768 data: 24 27 26 23 19 15 14 11 24/30 Read block 200 len 12288 25/30 Read block 61 len 36864 26/30 Write block 41 len 12288 data: 7 6 9 27/30 Write block 2 len 20480 data: 7 9 6 10 11 28/30 Read block 533 len 20480 29/30 Write block 81 len 20480 data: 14 13 14 16 16 30/30 Read block 34 len 36864 ---------------------------------------------------------------- Crucible gen:188 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 4 Done Done Sent false 1001 Acked Write 9 Done Done Sent false 1002 Acked Read 4 Done Done Sent false 1003 Acked Write 6 Done Done Sent false 1004 Acked Read 2 Done Done Sent false 1005 Acked Read 3 Done Done Sent false 1006 Acked Read 5 Done Done Sent false 1007 Acked Read 5 Done Done Sent false 1008 Acked Read 8 Done Done Sent false 1009 Acked Read 8 Done Done Sent false 1010 Acked Read 2 Done Done Sent false 1011 Acked Write 2 Done Done Sent false 1012 Acked Write 9 Done Done Sent false 1013 Acked Flush 0 Done Done Sent false 1014 Acked Write 6 Done Done Sent false 1015 Acked Write 5 Done Done Sent false 1016 Acked Write 5 Done Done Sent false 1017 Acked Write 7 Done Done Sent false 1018 Acked Write 2 Done Done Sent false 1019 Acked Read 10 Done Done Sent false 1020 Acked Write 5 Done Done Sent false 1021 Acked Read 6 Done Done Sent false 1022 Acked Write 8 Done Done Sent false 1023 Acked Read 3 Done Done Sent false 1024 Acked Read 9 Done Done Sent false 1025 Acked Write 3 Done Done Sent false 1026 Acked Write 5 Done Done Sent false 1027 Acked Read 5 Done Done Sent false 1028 Acked Write 5 Done Done Sent false 1029 Acked Read 9 Done Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 0 1 30 31 Done 30 29 0 59 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1013)) Some(JobId(1013)) None Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:48:43.128232609Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:43.128520123Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1891,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 182 182 182 309 309 309 T T F <--- 1 020-039 185 185 185 314 314 314 F F F 2 040-059 182 182 182 308 308 308 T T F <--- 3 060-079 188 188 185 320 320 314 F F F <--- 4 080-099 185 185 185 314 314 314 T T F <--- 5 100-119 188 188 187 320 320 319 F F F <--- 6 120-139 186 186 186 318 318 318 F F F 7 140-159 180 180 180 303 303 303 F F F 8 160-179 186 186 186 316 316 316 F F F 9 180-199 185 185 185 314 314 314 F F F 10 200-219 186 186 186 318 318 318 F F F 11 220-239 187 187 187 319 319 319 F F F 12 240-259 187 187 187 319 319 319 F F F 13 260-279 186 186 186 316 316 316 T T F <--- 14 280-299 188 188 186 320 320 318 T T F <--- 15 300-319 174 174 174 291 291 291 T T F <--- 16 320-339 184 184 184 313 313 313 T T F <--- 17 340-359 184 184 184 312 312 312 F F F 18 360-379 188 188 184 320 320 313 T T F <--- 19 380-399 188 188 187 320 320 319 F F F <--- 20 400-419 187 187 187 319 319 319 F F F 21 420-439 174 174 174 291 291 291 F F F 22 440-459 174 174 174 291 291 291 F F F 23 460-479 179 179 179 301 301 301 F F F 24 480-499 188 188 187 320 320 319 F F F <--- 25 500-519 187 187 187 319 319 319 F F F 26 520-539 187 187 187 319 319 319 F F F 27 540-559 186 186 186 316 316 316 F F F 28 560-579 185 185 185 314 314 314 T T F <--- 29 580-599 184 184 184 312 312 312 T T F <--- Max gen: 188, Max flush: 320 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 94 Verifying data now No change after verify Loop: 94 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 189 189 189 321 321 321 F F F 1 020-039 185 185 185 314 314 314 F F F 2 040-059 189 189 189 321 321 321 F F F 3 060-079 188 188 188 320 320 320 F F F 4 080-099 189 189 189 321 321 321 F F F 5 100-119 188 188 188 320 320 320 F F F 6 120-139 186 186 186 318 318 318 F F F 7 140-159 180 180 180 303 303 303 F F F 8 160-179 186 186 186 316 316 316 F F F 9 180-199 185 185 185 314 314 314 F F F 10 200-219 186 186 186 318 318 318 F F F 11 220-239 187 187 187 319 319 319 F F F 12 240-259 187 187 187 319 319 319 F F F 13 260-279 189 189 189 321 321 321 F F F 14 280-299 189 189 189 321 321 321 F F F 15 300-319 189 189 189 321 321 321 F F F 16 320-339 189 189 189 321 321 321 F F F 17 340-359 184 184 184 312 312 312 F F F 18 360-379 189 189 189 321 321 321 F F F 19 380-399 188 188 188 320 320 320 F F F 20 400-419 187 187 187 319 319 319 F F F 21 420-439 174 174 174 291 291 291 F F F 22 440-459 174 174 174 291 291 291 F F F 23 460-479 179 179 179 301 301 301 F F F 24 480-499 188 188 188 320 320 320 F F F 25 500-519 187 187 187 319 319 319 F F F 26 520-539 187 187 187 319 319 319 F F F 27 540-559 186 186 186 316 316 316 F F F 28 560-579 189 189 189 321 321 321 F F F 29 580-599 189 189 189 321 321 321 F F F Max gen: 189, Max flush: 321 Begin loop 95 Downstairs to restart: 2 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.373622809Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.381906217Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.382208658Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.382238324Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.382247063Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.382258732Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899} {"msg":"Crucible 6a070f49-3dbe-4642-83ec-52546c35e9eb has session id: 2694c9d4-c41f-4694-9eb8-986132238b98","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.382620175Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"Upstairs opts: Upstairs UUID: 6a070f49-3dbe-4642-83ec-52546c35e9eb, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.382650681Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"Crucible stats registered with UUID: 6a070f49-3dbe-4642-83ec-52546c35e9eb","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.38266324Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:48:47.382672849Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.382852765Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"":"io task","client":"2","":"downstairs","session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.382881542Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"":"io task","client":"1","":"downstairs","session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.38289253Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"":"io task","client":"0","":"downstairs","session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.382991548Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"task":"crutest"} {"msg":"The guest has requested activation with gen:190","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.383016914Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899} {"msg":"6a070f49-3dbe-4642-83ec-52546c35e9eb active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.383044251Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.38305401Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"client":"0","":"downstairs","session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.383064078Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"client":"1","":"downstairs","session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.383073857Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"client":"2","":"downstairs","session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.383086026Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"":"io task","client":"2","":"downstairs","session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.383096264Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"":"io task","client":"1","":"downstairs","session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.383161466Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"":"io task","client":"0","":"downstairs","session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"ds_connection connected from Ok(127.0.0.1:34867)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.383172624Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"":"io task","client":"1","":"downstairs","session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"ds_connection connected from Ok(127.0.0.1:63847)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.383184913Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"":"io task","client":"2","":"downstairs","session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"ds_connection connected from Ok(127.0.0.1:39559)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.383269252Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"":"io task","client":"0","":"downstairs","session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.383794525Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"client":"1","":"downstairs","session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.383818992Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"client":"0","":"downstairs","session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.38383059Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"client":"2","":"downstairs","session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.384096616Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.384131711Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"[0]R flush_numbers[0..12]: [321, 314, 321, 320, 321, 320, 318, 303, 316, 314, 318, 319]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.384207352Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"":"downstairs","":"downstairs","session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"[0]R generation[0..12]: [189, 185, 189, 188, 189, 188, 186, 180, 186, 185, 186, 187]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.38421885Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"":"downstairs","":"downstairs","session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.384230149Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"":"downstairs","":"downstairs","session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"[1]R flush_numbers[0..12]: [321, 314, 321, 320, 321, 320, 318, 303, 316, 314, 318, 319]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.384240877Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"":"downstairs","":"downstairs","session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"[1]R generation[0..12]: [189, 185, 189, 188, 189, 188, 186, 180, 186, 185, 186, 187]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.384251416Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"":"downstairs","":"downstairs","session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.384262435Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"":"downstairs","":"downstairs","session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"[2]R flush_numbers[0..12]: [321, 314, 321, 320, 321, 320, 318, 303, 316, 314, 318, 319]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.384273293Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"":"downstairs","":"downstairs","session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"[2]R generation[0..12]: [189, 185, 189, 188, 189, 188, 186, 180, 186, 185, 186, 187]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.384285952Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"":"downstairs","":"downstairs","session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.38429694Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"":"downstairs","":"downstairs","session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"Max found gen is 190","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.384306559Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"":"downstairs","":"downstairs","session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"Generation requested: 190 >= found:190","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.384316438Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"":"downstairs","":"downstairs","session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"Next flush: 322","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.384325897Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"":"downstairs","":"downstairs","session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.384335405Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"":"downstairs","":"downstairs","session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.384345584Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.384354663Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"client":"0","":"downstairs","session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.384364802Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"client":"1","":"downstairs","session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.38437478Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"client":"2","":"downstairs","session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.384384739Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.384394128Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"6a070f49-3dbe-4642-83ec-52546c35e9eb is now active with session: 2694c9d4-c41f-4694-9eb8-986132238b98","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.384404227Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.384413145Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"session_id":"2694c9d4-c41f-4694-9eb8-986132238b98"} {"msg":"The guest has finished waiting for activation with:190","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.384422374Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899} {"msg":"Activated sub_volume 6a070f49-3dbe-4642-83ec-52546c35e9eb","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.384430563Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.384439932Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.384799376Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"task":"crutest"} 01/30 Flush 02/30 Flush 03/30 Write block 558 len 36864 data: 20 18 19 14 15 16 15 15 13 04/30 Write block 42 len 20480 data: 7 10 9 10 12 05/30 Read block 441 len 16384 06/30 Write block 186 len 40960 data: 15 13 13 15 13 12 13 13 11 10 07/30 Read block 153 len 32768 08/30 Read block 168 len 28672 09/30 Write block 490 len 40960 data: 14 11 10 10 13 12 10 13 14 15 10/30 Read block 433 len 32768 11/30 Read block 204 len 4096 12/30 Read block 203 len 8192 13/30 Write block 348 len 16384 data: 15 18 14 13 14/30 Read block 495 len 16384 15/30 Flush 16/30 Flush 17/30 Write block 209 len 28672 data: 18 18 17 12 14 14 16 18/30 Read block 157 len 40960 19/30 Read block 126 len 24576 20/30 Read block 99 len 8192 21/30 Write block 292 len 8192 data: 20 22 22/30 Write block 498 len 24576 data: 15 16 14 16 17 17 23/30 Flush 24/30 Write block 138 len 36864 data: 11 13 16 15 12 12 12 14 18 25/30 Write block 322 len 28672 data: 16 18 20 20 19 18 15 26/30 Write block 118 len 4096 data: 10 27/30 Read block 402 len 8192 28/30 Read block 232 len 28672 29/30 Read block 235 len 8192 30/30 Read block 191 len 4096 ---------------------------------------------------------------- Crucible gen:190 GIO:true work queues: Upstairs:0 downstairs:29 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1001 Acked Flush 0 Done Done Sent false 1002 Acked Write 9 Done Done Sent false 1003 Acked Write 5 Done Done Sent false 1004 Acked Read 4 Done Done Sent false 1005 Acked Write 10 Done Done Sent false 1006 Acked Read 8 Done Done Sent false 1007 Acked Read 7 Done Done Sent false 1008 Acked Write 10 Done Done Sent false 1009 Acked Read 8 Done Done Sent false 1010 Acked Read 1 Done Done Sent false 1011 Acked Read 2 Done Done Sent false 1012 Acked Write 4 Done Done Sent false 1013 Acked Read 4 Done Done Sent false 1014 Acked Flush 0 Done Done Sent false 1015 Acked Flush 0 Done Done Sent false 1016 Acked Write 7 Done Done Sent false 1017 Acked Read 10 Done Done Sent false 1018 Acked Read 6 Done Done Sent false 1019 Acked Read 2 Done Done Sent false 1020 Acked Write 2 Done Done Sent false 1021 Acked Write 6 Done Done Sent false 1022 Acked Flush 0 Done Done Sent false 1023 Acked Write 9 Done Done Sent false 1024 Acked Write 7 Done Done Sent false 1025 Acked Write 1 Done Done Sent false 1026 Acked Read 2 Done Done Sent false 1027 Acked Read 7 Done Done Sent false 1028 Acked Read 2 Done Done Sent false 1029 Acked Read 1 Done Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 0 1 29 30 Done 29 28 0 57 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1022)) Some(JobId(1022)) Some(JobId(1000)) Downstairs last five completed: 1000 Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:48:47.393098632Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:47.393401343Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1899,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 189 189 189 321 321 321 F F F 1 020-039 185 185 185 314 314 314 F F F 2 040-059 190 190 189 324 324 321 F F F <--- 3 060-079 188 188 188 320 320 320 F F F 4 080-099 189 189 189 321 321 321 F F F 5 100-119 188 188 188 320 320 320 T T F <--- 6 120-139 186 186 186 318 318 318 T T F <--- 7 140-159 180 180 180 303 303 303 T T F <--- 8 160-179 186 186 186 316 316 316 F F F 9 180-199 190 190 185 324 324 314 F F F <--- 10 200-219 190 190 186 326 326 318 F F F <--- 11 220-239 187 187 187 319 319 319 F F F 12 240-259 187 187 187 319 319 319 F F F 13 260-279 189 189 189 321 321 321 F F F 14 280-299 190 190 189 326 326 321 F F F <--- 15 300-319 189 189 189 321 321 321 F F F 16 320-339 189 189 189 321 321 321 T T F <--- 17 340-359 190 190 184 324 324 312 F F F <--- 18 360-379 189 189 189 321 321 321 F F F 19 380-399 188 188 188 320 320 320 F F F 20 400-419 187 187 187 319 319 319 F F F 21 420-439 174 174 174 291 291 291 F F F 22 440-459 174 174 174 291 291 291 F F F 23 460-479 179 179 179 301 301 301 F F F 24 480-499 190 190 188 326 326 320 F F F <--- 25 500-519 190 190 187 326 326 319 F F F <--- 26 520-539 187 187 187 319 319 319 F F F 27 540-559 190 190 186 324 324 316 F F F <--- 28 560-579 190 190 189 324 324 321 F F F <--- 29 580-599 189 189 189 321 321 321 F F F Max gen: 190, Max flush: 326 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 95 Verifying data now No change after verify Loop: 95 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 189 189 189 321 321 321 F F F 1 020-039 185 185 185 314 314 314 F F F 2 040-059 190 190 190 324 324 324 F F F 3 060-079 188 188 188 320 320 320 F F F 4 080-099 189 189 189 321 321 321 F F F 5 100-119 191 191 191 327 327 327 F F F 6 120-139 191 191 191 327 327 327 F F F 7 140-159 191 191 191 327 327 327 F F F 8 160-179 186 186 186 316 316 316 F F F 9 180-199 190 190 190 324 324 324 F F F 10 200-219 190 190 190 326 326 326 F F F 11 220-239 187 187 187 319 319 319 F F F 12 240-259 187 187 187 319 319 319 F F F 13 260-279 189 189 189 321 321 321 F F F 14 280-299 190 190 190 326 326 326 F F F 15 300-319 189 189 189 321 321 321 F F F 16 320-339 191 191 191 327 327 327 F F F 17 340-359 190 190 190 324 324 324 F F F 18 360-379 189 189 189 321 321 321 F F F 19 380-399 188 188 188 320 320 320 F F F 20 400-419 187 187 187 319 319 319 F F F 21 420-439 174 174 174 291 291 291 F F F 22 440-459 174 174 174 291 291 291 F F F 23 460-479 179 179 179 301 301 301 F F F 24 480-499 190 190 190 326 326 326 F F F 25 500-519 190 190 190 326 326 326 F F F 26 520-539 187 187 187 319 319 319 F F F 27 540-559 190 190 190 324 324 324 F F F 28 560-579 190 190 190 324 324 324 F F F 29 580-599 189 189 189 321 321 321 F F F Max gen: 191, Max flush: 327 Begin loop 96 Downstairs to restart: 2 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.635593513Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.643793041Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.64410932Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.644146026Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.644155465Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.644167213Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907} {"msg":"Crucible 97654610-56f3-44d4-8b0e-4ceb134782f2 has session id: 120d5a50-8db7-4753-a233-460637ee93a9","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.644526317Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"Upstairs opts: Upstairs UUID: 97654610-56f3-44d4-8b0e-4ceb134782f2, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.644555973Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"Crucible stats registered with UUID: 97654610-56f3-44d4-8b0e-4ceb134782f2","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.644567532Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:48:51.64457714Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.644759747Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"":"io task","client":"1","":"downstairs","session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.644788693Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"":"io task","client":"2","":"downstairs","session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.644799732Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"":"io task","client":"0","":"downstairs","session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.6448937Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"task":"crutest"} {"msg":"The guest has requested activation with gen:192","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.644918587Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907} {"msg":"97654610-56f3-44d4-8b0e-4ceb134782f2 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.644936164Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.644945453Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"client":"0","":"downstairs","session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.644955402Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"client":"1","":"downstairs","session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.644965331Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"client":"2","":"downstairs","session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.644975199Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"":"io task","client":"2","":"downstairs","session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.644985398Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"":"io task","client":"1","":"downstairs","session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"ds_connection connected from Ok(127.0.0.1:58201)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.645043681Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"":"io task","client":"2","":"downstairs","session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.645069417Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"":"io task","client":"0","":"downstairs","session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"ds_connection connected from Ok(127.0.0.1:32930)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.645080716Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"":"io task","client":"1","":"downstairs","session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"ds_connection connected from Ok(127.0.0.1:38158)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.645148457Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"":"io task","client":"0","":"downstairs","session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.645667311Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"client":"1","":"downstairs","session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.645714535Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"client":"0","":"downstairs","session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.645740771Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"client":"2","":"downstairs","session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.645995899Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.646034294Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"[0]R flush_numbers[0..12]: [321, 314, 324, 320, 321, 327, 327, 327, 316, 324, 326, 319]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.646078328Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"":"downstairs","":"downstairs","session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"[0]R generation[0..12]: [189, 185, 190, 188, 189, 191, 191, 191, 186, 190, 190, 187]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.646089916Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"":"downstairs","":"downstairs","session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.646101285Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"":"downstairs","":"downstairs","session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"[1]R flush_numbers[0..12]: [321, 314, 324, 320, 321, 327, 327, 327, 316, 324, 326, 319]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.646112284Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"":"downstairs","":"downstairs","session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"[1]R generation[0..12]: [189, 185, 190, 188, 189, 191, 191, 191, 186, 190, 190, 187]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.646123122Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"":"downstairs","":"downstairs","session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.646136251Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"":"downstairs","":"downstairs","session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"[2]R flush_numbers[0..12]: [321, 314, 324, 320, 321, 327, 327, 327, 316, 324, 326, 319]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.646147179Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"":"downstairs","":"downstairs","session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"[2]R generation[0..12]: [189, 185, 190, 188, 189, 191, 191, 191, 186, 190, 190, 187]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.646158008Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"":"downstairs","":"downstairs","session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.646169156Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"":"downstairs","":"downstairs","session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"Max found gen is 192","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.646178905Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"":"downstairs","":"downstairs","session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"Generation requested: 192 >= found:192","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.646188924Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"":"downstairs","":"downstairs","session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"Next flush: 328","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.646198483Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"":"downstairs","":"downstairs","session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.646208031Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"":"downstairs","":"downstairs","session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.64621793Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.646227159Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"client":"0","":"downstairs","session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.646237528Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"client":"1","":"downstairs","session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.646247756Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"client":"2","":"downstairs","session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.646257995Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.646267384Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"97654610-56f3-44d4-8b0e-4ceb134782f2 is now active with session: 120d5a50-8db7-4753-a233-460637ee93a9","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.646277492Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.646287361Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"session_id":"120d5a50-8db7-4753-a233-460637ee93a9"} {"msg":"The guest has finished waiting for activation with:192","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.64629674Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907} {"msg":"Activated sub_volume 97654610-56f3-44d4-8b0e-4ceb134782f2","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.646304969Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.646313288Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.646630977Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"task":"crutest"} 01/30 Write block 40 len 20480 data: 10 8 8 11 10 02/30 Read block 138 len 12288 03/30 Write block 230 len 36864 data: 13 12 10 10 12 15 15 17 14 04/30 Write block 587 len 32768 data: 17 19 19 12 14 11 11 12 05/30 Write block 1 len 16384 data: 5 8 10 7 06/30 Read block 475 len 28672 07/30 Read block 504 len 28672 08/30 Read block 550 len 8192 09/30 Read block 552 len 28672 10/30 Read block 288 len 4096 11/30 Read block 208 len 20480 12/30 Read block 386 len 16384 13/30 Write block 332 len 16384 data: 13 13 15 17 14/30 Read block 179 len 36864 15/30 Read block 165 len 28672 16/30 Read block 240 len 16384 17/30 Read block 63 len 32768 18/30 Write block 520 len 28672 data: 11 12 10 9 10 10 9 19/30 Write block 529 len 28672 data: 12 13 13 11 8 8 9 20/30 Write block 377 len 32768 data: 16 17 15 13 14 15 16 19 21/30 Read block 303 len 16384 22/30 Read block 50 len 36864 23/30 Write block 63 len 36864 data: 15 14 16 14 11 16 17 18 19 24/30 Write block 368 len 20480 data: 12 11 12 17 21 25/30 Write block 52 len 36864 data: 8 8 10 10 14 16 19 19 18 26/30 Read block 49 len 16384 27/30 Read block 161 len 16384 28/30 Read block 232 len 24576 29/30 Read block 394 len 32768 30/30 Write block 228 len 40960 data: 15 12 14 13 11 11 13 16 16 18 ---------------------------------------------------------------- Crucible gen:192 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 5 Done Done Done false 1001 Acked Read 3 Done Done Done false 1002 Acked Write 9 Done Done Done false 1003 Acked Write 8 Done Done Sent false 1004 Acked Write 4 Done Done Sent false 1005 Acked Read 7 Done Done Sent false 1006 Acked Read 7 Done Done Sent false 1007 Acked Read 2 Done Done Sent false 1008 Acked Read 7 Done Done Sent false 1009 Acked Read 1 Done Done Sent false 1010 Acked Read 5 Done Done Sent false 1011 Acked Read 4 Done Done Sent false 1012 Acked Write 4 Done Done Sent false 1013 Acked Read 9 Done Done Sent false 1014 Acked Read 7 Done Done Sent false 1015 Acked Read 4 Done Done Sent false 1016 Acked Read 8 Done Done Sent false 1017 Acked Write 7 Done Done Sent false 1018 Acked Write 7 Done Done Sent false 1019 Acked Write 8 Done Done Sent false 1020 Acked Read 4 Done Done Sent false 1021 Acked Read 9 Done Done Sent false 1022 Acked Write 9 Done Done Sent false 1023 Acked Write 5 Done Done Sent false 1024 Acked Write 9 Done Done Sent false 1025 Acked Read 4 Done Done Sent false 1026 Acked Read 4 Done Done Sent false 1027 Acked Read 6 Done Done Sent false 1028 Acked Read 8 Done Done Sent false 1029 Acked Write 10 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 1 1 27 29 Done 29 29 3 61 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: None None None Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:48:51.654208615Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:51.654491699Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1907,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 189 189 189 321 321 321 T T F <--- 1 020-039 185 185 185 314 314 314 F F F 2 040-059 190 190 190 324 324 324 T T T 3 060-079 188 188 188 320 320 320 T T F <--- 4 080-099 189 189 189 321 321 321 F F F 5 100-119 191 191 191 327 327 327 F F F 6 120-139 191 191 191 327 327 327 F F F 7 140-159 191 191 191 327 327 327 F F F 8 160-179 186 186 186 316 316 316 F F F 9 180-199 190 190 190 324 324 324 F F F 10 200-219 190 190 190 326 326 326 F F F 11 220-239 187 187 187 319 319 319 T T T 12 240-259 187 187 187 319 319 319 F F F 13 260-279 189 189 189 321 321 321 F F F 14 280-299 190 190 190 326 326 326 F F F 15 300-319 189 189 189 321 321 321 F F F 16 320-339 191 191 191 327 327 327 T T F <--- 17 340-359 190 190 190 324 324 324 F F F 18 360-379 189 189 189 321 321 321 T T F <--- 19 380-399 188 188 188 320 320 320 T T F <--- 20 400-419 187 187 187 319 319 319 F F F 21 420-439 174 174 174 291 291 291 F F F 22 440-459 174 174 174 291 291 291 F F F 23 460-479 179 179 179 301 301 301 F F F 24 480-499 190 190 190 326 326 326 F F F 25 500-519 190 190 190 326 326 326 F F F 26 520-539 187 187 187 319 319 319 T T F <--- 27 540-559 190 190 190 324 324 324 F F F 28 560-579 190 190 190 324 324 324 F F F 29 580-599 189 189 189 321 321 321 T T F <--- Max gen: 191, Max flush: 327 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 96 Verifying data now No change after verify Loop: 96 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 192 192 192 328 328 328 F F F 1 020-039 185 185 185 314 314 314 F F F 2 040-059 192 192 192 328 328 328 F F F 3 060-079 192 192 192 328 328 328 F F F 4 080-099 189 189 189 321 321 321 F F F 5 100-119 191 191 191 327 327 327 F F F 6 120-139 191 191 191 327 327 327 F F F 7 140-159 191 191 191 327 327 327 F F F 8 160-179 186 186 186 316 316 316 F F F 9 180-199 190 190 190 324 324 324 F F F 10 200-219 190 190 190 326 326 326 F F F 11 220-239 192 192 192 328 328 328 F F F 12 240-259 187 187 187 319 319 319 F F F 13 260-279 189 189 189 321 321 321 F F F 14 280-299 190 190 190 326 326 326 F F F 15 300-319 189 189 189 321 321 321 F F F 16 320-339 192 192 192 328 328 328 F F F 17 340-359 190 190 190 324 324 324 F F F 18 360-379 192 192 192 328 328 328 F F F 19 380-399 192 192 192 328 328 328 F F F 20 400-419 187 187 187 319 319 319 F F F 21 420-439 174 174 174 291 291 291 F F F 22 440-459 174 174 174 291 291 291 F F F 23 460-479 179 179 179 301 301 301 F F F 24 480-499 190 190 190 326 326 326 F F F 25 500-519 190 190 190 326 326 326 F F F 26 520-539 192 192 192 328 328 328 F F F 27 540-559 190 190 190 324 324 324 F F F 28 560-579 190 190 190 324 324 324 F F F 29 580-599 192 192 192 328 328 328 F F F Max gen: 192, Max flush: 328 Begin loop 97 Downstairs to restart: 1 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.896437979Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.905203765Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.905532263Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.905571408Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.905583896Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.905596415Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915} {"msg":"Crucible da8eb6e3-9c0e-484d-a76d-1ccc0c9a076f has session id: 3ceef952-22e6-4f19-88f4-c76267e9ec19","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.906004403Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"Upstairs opts: Upstairs UUID: da8eb6e3-9c0e-484d-a76d-1ccc0c9a076f, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.906036468Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"Crucible stats registered with UUID: da8eb6e3-9c0e-484d-a76d-1ccc0c9a076f","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.906048367Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:48:55.906058566Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.906218275Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"":"io task","client":"1","":"downstairs","session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.906235753Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"":"io task","client":"2","":"downstairs","session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.906247011Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"":"io task","client":"0","":"downstairs","session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.906406561Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"task":"crutest"} {"msg":"The guest has requested activation with gen:194","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.906444746Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915} {"msg":"da8eb6e3-9c0e-484d-a76d-1ccc0c9a076f active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.906454465Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.906464254Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"client":"0","":"downstairs","session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.906475022Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"client":"1","":"downstairs","session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.906487901Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"client":"2","":"downstairs","session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.906498539Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"":"io task","client":"2","":"downstairs","session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.906509578Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"":"io task","client":"1","":"downstairs","session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.906520406Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"":"io task","client":"0","":"downstairs","session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"ds_connection connected from Ok(127.0.0.1:62323)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.906539814Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"":"io task","client":"2","":"downstairs","session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"ds_connection connected from Ok(127.0.0.1:41018)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.90657336Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"":"io task","client":"0","":"downstairs","session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"ds_connection connected from Ok(127.0.0.1:48087)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.906709652Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"":"io task","client":"1","":"downstairs","session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.907331652Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"client":"0","":"downstairs","session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.907366248Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"client":"1","":"downstairs","session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.907378926Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"client":"2","":"downstairs","session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.907677198Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.907687787Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"[0]R flush_numbers[0..12]: [328, 314, 328, 328, 321, 327, 327, 327, 316, 324, 326, 328]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.907722062Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"":"downstairs","":"downstairs","session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"[0]R generation[0..12]: [192, 185, 192, 192, 189, 191, 191, 191, 186, 190, 190, 192]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.907734281Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"":"downstairs","":"downstairs","session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.907746319Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"":"downstairs","":"downstairs","session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"[1]R flush_numbers[0..12]: [328, 314, 328, 328, 321, 327, 327, 327, 316, 324, 326, 328]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.907760547Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"":"downstairs","":"downstairs","session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"[1]R generation[0..12]: [192, 185, 192, 192, 189, 191, 191, 191, 186, 190, 190, 192]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.907772126Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"":"downstairs","":"downstairs","session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.907783904Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"":"downstairs","":"downstairs","session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"[2]R flush_numbers[0..12]: [328, 314, 328, 328, 321, 327, 327, 327, 316, 324, 326, 328]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.907795513Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"":"downstairs","":"downstairs","session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"[2]R generation[0..12]: [192, 185, 192, 192, 189, 191, 191, 191, 186, 190, 190, 192]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.907806851Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"":"downstairs","":"downstairs","session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.90781864Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"":"downstairs","":"downstairs","session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"Max found gen is 193","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.907829279Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"":"downstairs","":"downstairs","session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"Generation requested: 194 >= found:193","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.907839927Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"":"downstairs","":"downstairs","session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"Next flush: 329","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.907850116Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"":"downstairs","":"downstairs","session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.907860575Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"":"downstairs","":"downstairs","session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.907871043Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.907880612Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"client":"0","":"downstairs","session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.907891171Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"client":"1","":"downstairs","session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.907901759Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"client":"2","":"downstairs","session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.907913398Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.907923236Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"da8eb6e3-9c0e-484d-a76d-1ccc0c9a076f is now active with session: 3ceef952-22e6-4f19-88f4-c76267e9ec19","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.907934105Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.907943554Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"session_id":"3ceef952-22e6-4f19-88f4-c76267e9ec19"} {"msg":"The guest has finished waiting for activation with:194","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.907953413Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915} {"msg":"Activated sub_volume da8eb6e3-9c0e-484d-a76d-1ccc0c9a076f","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.907962152Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.90797098Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.908342573Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"task":"crutest"} 01/30 Write block 65 len 8192 data: 17 15 02/30 Flush 03/30 Write block 34 len 36864 data: 15 12 12 12 16 11 11 9 9 04/30 Write block 464 len 4096 data: 10 05/30 Write block 572 len 4096 data: 19 06/30 Write block 410 len 20480 data: 15 15 15 16 20 07/30 Write block 107 len 20480 data: 13 14 10 12 12 08/30 Flush 09/30 Write block 163 len 40960 data: 13 17 16 17 17 15 14 16 13 10 10/30 Write block 326 len 28672 data: 20 19 16 16 14 13 14 11/30 Read block 484 len 40960 12/30 Read block 405 len 12288 13/30 Read block 332 len 40960 14/30 Write block 165 len 4096 data: 17 15/30 Read block 450 len 20480 16/30 Flush 17/30 Write block 146 len 8192 data: 19 19 18/30 Write block 417 len 4096 data: 17 19/30 Read block 382 len 32768 20/30 Write block 254 len 36864 data: 11 10 10 10 12 13 14 14 12 21/30 Write block 296 len 12288 data: 25 28 27 22/30 Read block 415 len 36864 23/30 Read block 295 len 24576 24/30 Flush 25/30 Write block 381 len 20480 data: 15 16 17 20 15 26/30 Read block 463 len 24576 27/30 Write block 142 len 20480 data: 13 13 13 15 20 28/30 Write block 431 len 20480 data: 12 14 14 14 13 29/30 Read block 14 len 4096 30/30 Write block 440 len 24576 data: 15 16 14 17 19 16 ---------------------------------------------------------------- Crucible gen:194 GIO:true work queues: Upstairs:0 downstairs:28 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1002 Acked Write 9 Done Done Done false 1003 Acked Write 1 Done Done Done false 1004 Acked Write 1 Done Done Done false 1005 Acked Write 5 Done Done Done false 1006 Acked Write 5 Done Done Done false 1007 Acked Flush 0 Done Sent Done false 1008 Acked Write 10 Done Sent Done false 1009 Acked Write 7 Done Sent Done false 1010 Acked Read 10 Done Sent Done false 1011 Acked Read 3 Done Sent Done false 1012 Acked Read 10 Done Sent Done false 1013 Acked Write 1 Done Sent Done false 1014 Acked Read 5 Done Sent Done false 1015 Acked Flush 0 Done Sent Done false 1016 Acked Write 2 Done Sent Done false 1017 Acked Write 1 Done Sent Done false 1018 Acked Read 8 Done Sent Done false 1019 Acked Write 9 Done Sent Done false 1020 Acked Write 3 Done Sent Done false 1021 Acked Read 9 Done Sent Done false 1022 Acked Read 6 Done Sent Done false 1023 Acked Flush 0 Done Sent Done false 1024 Acked Write 5 Done Sent Done false 1025 Acked Read 6 Done Sent Done false 1026 Acked Write 5 Done Sent Done false 1027 Acked Write 5 Done Sent Done false 1028 Acked Read 1 Done Sent Done false 1029 Acked Write 6 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 1 23 1 25 Done 27 5 27 59 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1023)) Some(JobId(1001)) Some(JobId(1023)) Downstairs last five completed: 1001 1000 Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:48:55.916480779Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:48:55.916819456Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1915,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 192 192 192 328 328 328 F F F 1 020-039 194 185 194 330 314 330 F T F <--- 2 040-059 194 192 194 330 328 330 F T F <--- 3 060-079 194 194 194 329 329 329 F F F 4 080-099 189 189 189 321 321 321 F F F 5 100-119 194 191 194 330 327 330 F T F <--- 6 120-139 191 191 191 327 327 327 F F F 7 140-159 194 191 194 332 327 332 T F T <--- 8 160-179 194 186 194 331 316 331 F F F <--- 9 180-199 190 190 190 324 324 324 F F F 10 200-219 190 190 190 326 326 326 F F F 11 220-239 192 192 192 328 328 328 F F F 12 240-259 194 187 194 332 319 332 F F F <--- 13 260-279 194 189 194 332 321 332 F F F <--- 14 280-299 194 190 194 332 326 332 F F F <--- 15 300-319 189 189 189 321 321 321 F F F 16 320-339 194 192 194 331 328 331 F F F <--- 17 340-359 190 190 190 324 324 324 F F F 18 360-379 192 192 192 328 328 328 F F F 19 380-399 192 192 192 328 328 328 T F T <--- 20 400-419 194 187 194 332 319 332 F T F <--- 21 420-439 174 174 174 291 291 291 T F T <--- 22 440-459 174 174 174 291 291 291 T F T <--- 23 460-479 194 179 194 330 301 330 F T F <--- 24 480-499 190 190 190 326 326 326 F F F 25 500-519 190 190 190 326 326 326 F F F 26 520-539 192 192 192 328 328 328 F F F 27 540-559 190 190 190 324 324 324 F F F 28 560-579 194 190 194 330 324 330 F T F <--- 29 580-599 192 192 192 328 328 328 F F F Max gen: 194, Max flush: 332 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 97 Verifying data now No change after verify Loop: 97 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 192 192 192 328 328 328 F F F 1 020-039 194 194 194 330 330 330 F F F 2 040-059 194 194 194 330 330 330 F F F 3 060-079 194 194 194 329 329 329 F F F 4 080-099 189 189 189 321 321 321 F F F 5 100-119 194 194 194 330 330 330 F F F 6 120-139 191 191 191 327 327 327 F F F 7 140-159 195 195 195 333 333 333 F F F 8 160-179 194 194 194 331 331 331 F F F 9 180-199 190 190 190 324 324 324 F F F 10 200-219 190 190 190 326 326 326 F F F 11 220-239 192 192 192 328 328 328 F F F 12 240-259 194 194 194 332 332 332 F F F 13 260-279 194 194 194 332 332 332 F F F 14 280-299 194 194 194 332 332 332 F F F 15 300-319 189 189 189 321 321 321 F F F 16 320-339 194 194 194 331 331 331 F F F 17 340-359 190 190 190 324 324 324 F F F 18 360-379 192 192 192 328 328 328 F F F 19 380-399 195 195 195 333 333 333 F F F 20 400-419 194 194 194 332 332 332 F F F 21 420-439 195 195 195 333 333 333 F F F 22 440-459 195 195 195 333 333 333 F F F 23 460-479 194 194 194 330 330 330 F F F 24 480-499 190 190 190 326 326 326 F F F 25 500-519 190 190 190 326 326 326 F F F 26 520-539 192 192 192 328 328 328 F F F 27 540-559 190 190 190 324 324 324 F F F 28 560-579 194 194 194 330 330 330 F F F 29 580-599 192 192 192 328 328 328 F F F Max gen: 195, Max flush: 333 Begin loop 98 Downstairs to restart: 2 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.177513363Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008810, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.185936703Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.186310805Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.18634555Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.186355419Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.186368007Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923} {"msg":"Crucible 6d65c038-c967-4570-8e85-1ccc6a251782 has session id: c2776791-9cfd-4e37-89a7-518c96ad6e03","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.186695085Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"Upstairs opts: Upstairs UUID: 6d65c038-c967-4570-8e85-1ccc6a251782, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.186727191Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"Crucible stats registered with UUID: 6d65c038-c967-4570-8e85-1ccc6a251782","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.18673859Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:49:00.186748359Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.186937874Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"":"io task","client":"0","":"downstairs","session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.186968Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"":"io task","client":"1","":"downstairs","session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.186979929Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"":"io task","client":"2","":"downstairs","session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.1871272Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"task":"crutest"} {"msg":"The guest has requested activation with gen:196","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.187145298Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923} {"msg":"6d65c038-c967-4570-8e85-1ccc6a251782 active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.187161336Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.187171154Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"client":"0","":"downstairs","session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.187181573Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"client":"1","":"downstairs","session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.187191912Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"client":"2","":"downstairs","session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.18720483Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"":"io task","client":"0","":"downstairs","session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.187215739Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"":"io task","client":"2","":"downstairs","session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.187226347Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"":"io task","client":"1","":"downstairs","session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"ds_connection connected from Ok(127.0.0.1:49981)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.187292589Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"":"io task","client":"0","":"downstairs","session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"ds_connection connected from Ok(127.0.0.1:44132)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.187320005Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"":"io task","client":"1","":"downstairs","session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"ds_connection connected from Ok(127.0.0.1:46811)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.187332284Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"":"io task","client":"2","":"downstairs","session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.188050772Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"client":"0","":"downstairs","session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.188067849Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"client":"1","":"downstairs","session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.188111344Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"client":"2","":"downstairs","session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.188393378Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.188403786Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"[0]R flush_numbers[0..12]: [328, 330, 330, 329, 321, 330, 327, 333, 331, 324, 326, 328]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.188474977Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"":"downstairs","":"downstairs","session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"[0]R generation[0..12]: [192, 194, 194, 194, 189, 194, 191, 195, 194, 190, 190, 192]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.188489195Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"":"downstairs","":"downstairs","session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.188501094Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"":"downstairs","":"downstairs","session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"[1]R flush_numbers[0..12]: [328, 330, 330, 329, 321, 330, 327, 333, 331, 324, 326, 328]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.188512202Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"":"downstairs","":"downstairs","session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"[1]R generation[0..12]: [192, 194, 194, 194, 189, 194, 191, 195, 194, 190, 190, 192]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.188523411Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"":"downstairs","":"downstairs","session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.188535089Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"":"downstairs","":"downstairs","session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"[2]R flush_numbers[0..12]: [328, 330, 330, 329, 321, 330, 327, 333, 331, 324, 326, 328]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.188546528Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"":"downstairs","":"downstairs","session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"[2]R generation[0..12]: [192, 194, 194, 194, 189, 194, 191, 195, 194, 190, 190, 192]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.188557826Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"":"downstairs","":"downstairs","session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.188569485Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"":"downstairs","":"downstairs","session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"Max found gen is 196","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.188579664Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"":"downstairs","":"downstairs","session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"Generation requested: 196 >= found:196","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.188590212Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"":"downstairs","":"downstairs","session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"Next flush: 334","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.188600371Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"":"downstairs","":"downstairs","session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.18861053Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"":"downstairs","":"downstairs","session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.188621558Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.188631187Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"client":"0","":"downstairs","session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.188642886Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"client":"1","":"downstairs","session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.188653454Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"client":"2","":"downstairs","session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.188663903Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.188673692Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"6d65c038-c967-4570-8e85-1ccc6a251782 is now active with session: c2776791-9cfd-4e37-89a7-518c96ad6e03","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.18868433Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.188693869Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"session_id":"c2776791-9cfd-4e37-89a7-518c96ad6e03"} {"msg":"The guest has finished waiting for activation with:196","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.188703888Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923} {"msg":"Activated sub_volume 6d65c038-c967-4570-8e85-1ccc6a251782","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.188712667Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.188721396Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.189128773Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"task":"crutest"} 01/30 Write block 298 len 4096 data: 28 02/30 Flush 03/30 Write block 492 len 28672 data: 11 11 14 13 11 14 16 04/30 Read block 167 len 24576 05/30 Write block 520 len 36864 data: 12 13 11 10 11 11 10 10 11 06/30 Write block 290 len 16384 data: 16 19 21 23 07/30 Read block 251 len 24576 08/30 Read block 148 len 32768 09/30 Read block 115 len 20480 10/30 Flush 11/30 Write block 281 len 20480 data: 17 16 16 18 17 12/30 Write block 444 len 36864 data: 20 17 16 13 13 14 13 13 13 13/30 Write block 124 len 4096 data: 12 14/30 Read block 557 len 40960 15/30 Flush 16/30 Flush 17/30 Write block 223 len 12288 data: 16 18 16 18/30 Write block 368 len 8192 data: 13 12 19/30 Read block 243 len 24576 20/30 Write block 45 len 32768 data: 11 13 13 13 12 14 12 9 21/30 Read block 225 len 32768 22/30 Flush 23/30 Write block 376 len 28672 data: 15 17 18 16 14 16 17 24/30 Read block 494 len 4096 25/30 Write block 102 len 40960 data: 16 16 15 14 15 14 15 11 13 13 26/30 Write block 582 len 4096 data: 15 27/30 Read block 335 len 24576 28/30 Read block 402 len 40960 29/30 Read block 312 len 24576 30/30 Read block 421 len 8192 ---------------------------------------------------------------- Crucible gen:196 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 1 Done Done Sent false 1001 Acked Flush 0 Done Done Sent false 1002 Acked Write 7 Done Done Sent false 1003 Acked Read 6 Done Done Sent false 1004 Acked Write 9 Done Done Sent false 1005 Acked Write 4 Done Done Sent false 1006 Acked Read 6 Done Done Sent false 1007 Acked Read 8 Done Done Sent false 1008 Acked Read 5 Done Done Sent false 1009 Acked Flush 0 Done Done Sent false 1010 Acked Write 5 Done Done Sent false 1011 Acked Write 9 Done Done Sent false 1012 Acked Write 1 Done Done Sent false 1013 Acked Read 10 Done Done Sent false 1014 Acked Flush 0 Done Done Sent false 1015 Acked Flush 0 Done Done Sent false 1016 Acked Write 3 Done Done Sent false 1017 Acked Write 2 Done Done Sent false 1018 Acked Read 6 Done Done Sent false 1019 Acked Write 8 Done Done Sent false 1020 Acked Read 8 Done Done Sent false 1021 Acked Flush 0 Done Done Sent false 1022 Acked Write 7 Done Done Sent false 1023 Acked Read 1 Done Done Sent false 1024 Acked Write 10 Done Done Sent false 1025 Acked Write 1 Done Done Sent false 1026 Acked Read 6 Done Done Sent false 1027 Acked Read 10 Done Done Sent false 1028 Acked Read 6 Done Done Sent false 1029 Acked Read 2 Done Done Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 0 0 30 30 Done 30 30 0 60 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: Some(JobId(1021)) Some(JobId(1021)) None Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:49:00.197563732Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:00.197859914Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1923,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 192 192 192 328 328 328 F F F 1 020-039 194 194 194 330 330 330 F F F 2 040-059 196 196 194 338 338 330 F F F <--- 3 060-079 194 194 194 329 329 329 F F F 4 080-099 189 189 189 321 321 321 F F F 5 100-119 194 194 194 330 330 330 T T F <--- 6 120-139 196 196 191 336 336 327 F F F <--- 7 140-159 195 195 195 333 333 333 F F F 8 160-179 194 194 194 331 331 331 F F F 9 180-199 190 190 190 324 324 324 F F F 10 200-219 190 190 190 326 326 326 F F F 11 220-239 196 196 192 338 338 328 F F F <--- 12 240-259 194 194 194 332 332 332 F F F 13 260-279 194 194 194 332 332 332 F F F 14 280-299 196 196 194 336 336 332 F F F <--- 15 300-319 189 189 189 321 321 321 F F F 16 320-339 194 194 194 331 331 331 F F F 17 340-359 190 190 190 324 324 324 F F F 18 360-379 196 196 192 338 338 328 T T F <--- 19 380-399 195 195 195 333 333 333 T T F <--- 20 400-419 194 194 194 332 332 332 F F F 21 420-439 195 195 195 333 333 333 F F F 22 440-459 196 196 195 336 336 333 F F F <--- 23 460-479 194 194 194 330 330 330 F F F 24 480-499 196 196 190 335 335 326 F F F <--- 25 500-519 190 190 190 326 326 326 F F F 26 520-539 196 196 192 335 335 328 F F F <--- 27 540-559 190 190 190 324 324 324 F F F 28 560-579 194 194 194 330 330 330 F F F 29 580-599 192 192 192 328 328 328 T T F <--- Max gen: 196, Max flush: 338 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 98 Verifying data now No change after verify Loop: 98 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 192 192 192 328 328 328 F F F 1 020-039 194 194 194 330 330 330 F F F 2 040-059 196 196 196 338 338 338 F F F 3 060-079 194 194 194 329 329 329 F F F 4 080-099 189 189 189 321 321 321 F F F 5 100-119 197 197 197 339 339 339 F F F 6 120-139 196 196 196 336 336 336 F F F 7 140-159 195 195 195 333 333 333 F F F 8 160-179 194 194 194 331 331 331 F F F 9 180-199 190 190 190 324 324 324 F F F 10 200-219 190 190 190 326 326 326 F F F 11 220-239 196 196 196 338 338 338 F F F 12 240-259 194 194 194 332 332 332 F F F 13 260-279 194 194 194 332 332 332 F F F 14 280-299 196 196 196 336 336 336 F F F 15 300-319 189 189 189 321 321 321 F F F 16 320-339 194 194 194 331 331 331 F F F 17 340-359 190 190 190 324 324 324 F F F 18 360-379 197 197 197 339 339 339 F F F 19 380-399 197 197 197 339 339 339 F F F 20 400-419 194 194 194 332 332 332 F F F 21 420-439 195 195 195 333 333 333 F F F 22 440-459 196 196 196 336 336 336 F F F 23 460-479 194 194 194 330 330 330 F F F 24 480-499 196 196 196 335 335 335 F F F 25 500-519 190 190 190 326 326 326 F F F 26 520-539 196 196 196 335 335 335 F F F 27 540-559 190 190 190 324 324 324 F F F 28 560-579 194 194 194 330 330 330 F F F 29 580-599 197 197 197 339 339 339 F F F Max gen: 197, Max flush: 339 Begin loop 99 Downstairs to restart: 0 {"msg":"look at: http://127.0.0.1:12810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.440348655Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"task":"crutest"} {"msg":"Failed to get info from \"http://127.0.0.1:12810\" Communication Error: error sending request for url (http://127.0.0.1:12810/region-info)","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:49:04.44772195Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"task":"crutest"} {"msg":"look at: http://127.0.0.1:12820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.44779626Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"task":"crutest"} {"msg":"RI is: RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 12345678-0000-0000-0000-000000008820, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.454917037Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"task":"crutest"} {"msg":"Upstairs starts","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.455192682Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931} {"msg":"Crucible Version: BuildInfo {\n version: \"0.0.1\",\n git_sha: \"ef0035d1248d36ce2ba416a576ba91c563259750\",\n git_commit_timestamp: \"2026-10-21T21:24:18.000000000Z\",\n git_branch: \"main\",\n rustc_semver: \"1.99.1\",\n rustc_channel: \"stable\",\n rustc_host_triple: \"x86_64-unknown-illumos\",\n rustc_commit_sha: \"58cf8f9c35b355199727627d07ae34a4e2846d67\",\n cargo_triple: \"x86_64-unknown-illumos\",\n debug: true,\n opt_level: 0,\n}","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.455221938Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931} {"msg":"Upstairs <-> Downstairs Message Version: 13","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.455230997Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931} {"msg":"Using region definition RegionDefinition { block_size: 4096, extent_size: Block { value: 20, shift: 12 }, extent_count: 30, uuid: 00000000-0000-0000-0000-000000000000, encrypted: false, database_read_version: 1, database_write_version: 1 }","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.455243085Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931} {"msg":"Crucible 135f0e89-d22c-46ef-8024-a47fa012c1ed has session id: dbf667f4-f1b9-4d3b-ba3a-c577b97341d8","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.45559568Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"Upstairs opts: Upstairs UUID: 135f0e89-d22c-46ef-8024-a47fa012c1ed, Targets: [127.0.0.1:8810, 127.0.0.1:8820, 127.0.0.1:8830], lossy: false, flush_timeout: None, key populated: false, cert_pem populated: false, key_pem populated: false, root_cert_pem populated: false, Control: None, read_only: false","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.455621807Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"Crucible stats registered with UUID: 135f0e89-d22c-46ef-8024-a47fa012c1ed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.455632555Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"could not find Downstairs address for Nexus","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:49:04.455644624Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.455838379Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"":"io task","client":"1","":"downstairs","session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.455869435Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"":"io task","client":"2","":"downstairs","session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"client is waiting for oneshot","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.455880873Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"":"io task","client":"0","":"downstairs","session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"Downstairs in volume = 3","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.455991169Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"task":"crutest"} {"msg":"The guest has requested activation with gen:198","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.456031274Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931} {"msg":"135f0e89-d22c-46ef-8024-a47fa012c1ed active request set","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.456042923Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.456052402Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"client":"0","":"downstairs","session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.45606245Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"client":"1","":"downstairs","session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"sending connect oneshot to client","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.456072889Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"client":"2","":"downstairs","session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"connecting to 127.0.0.1:8830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.456085577Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"":"io task","client":"2","":"downstairs","session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"connecting to 127.0.0.1:8810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.456095986Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"":"io task","client":"0","":"downstairs","session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"connecting to 127.0.0.1:8820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.456106435Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"":"io task","client":"1","":"downstairs","session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"ds_connection connected from Ok(127.0.0.1:61395)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.456195313Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"":"io task","client":"2","":"downstairs","session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"ds_connection connected from Ok(127.0.0.1:47900)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.45622222Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"":"io task","client":"1","":"downstairs","session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"ds_connection connected from Ok(127.0.0.1:36228)","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.456288071Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"":"io task","client":"0","":"downstairs","session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"downstairs client at Some(127.0.0.1:8810) has region UUID 12345678-0000-0000-0000-000000008810","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.456912241Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"client":"0","":"downstairs","session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"downstairs client at Some(127.0.0.1:8820) has region UUID 12345678-0000-0000-0000-000000008820","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.456953346Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"client":"1","":"downstairs","session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"downstairs client at Some(127.0.0.1:8830) has region UUID 12345678-0000-0000-0000-000000008830","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.456967754Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"client":"2","":"downstairs","session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.457210533Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"Waiting for more clients to be ready","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.45723052Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"[0]R flush_numbers[0..12]: [328, 330, 338, 329, 321, 339, 336, 333, 331, 324, 326, 338]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.45731471Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"":"downstairs","":"downstairs","session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"[0]R generation[0..12]: [192, 194, 196, 194, 189, 197, 196, 195, 194, 190, 190, 196]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.457326928Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"":"downstairs","":"downstairs","session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"[0]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.457338457Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"":"downstairs","":"downstairs","session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"[1]R flush_numbers[0..12]: [328, 330, 338, 329, 321, 339, 336, 333, 331, 324, 326, 338]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.457349605Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"":"downstairs","":"downstairs","session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"[1]R generation[0..12]: [192, 194, 196, 194, 189, 197, 196, 195, 194, 190, 190, 196]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.457360804Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"":"downstairs","":"downstairs","session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"[1]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.457372312Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"":"downstairs","":"downstairs","session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"[2]R flush_numbers[0..12]: [328, 330, 338, 329, 321, 339, 336, 333, 331, 324, 326, 338]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.457383461Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"":"downstairs","":"downstairs","session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"[2]R generation[0..12]: [192, 194, 196, 194, 189, 197, 196, 195, 194, 190, 190, 196]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.457394429Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"":"downstairs","":"downstairs","session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"[2]R dirty[0..12]: [false, false, false, false, false, false, false, false, false, false, false, false]","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.457405828Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"":"downstairs","":"downstairs","session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"Max found gen is 198","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.457415747Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"":"downstairs","":"downstairs","session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"Generation requested: 198 >= found:198","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.457427625Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"":"downstairs","":"downstairs","session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"Next flush: 340","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.457437534Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"":"downstairs","":"downstairs","session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"All extents match","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.457447543Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"":"downstairs","":"downstairs","session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"No downstairs reconciliation required","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.457458101Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.45746753Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"client":"0","":"downstairs","session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.457477649Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"client":"1","":"downstairs","session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"Transition from WaitQuorum to Active","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.457487767Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"client":"2","":"downstairs","session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"All required reconciliation work is completed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.457498116Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"Set Downstairs and Upstairs active after reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.457507855Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"135f0e89-d22c-46ef-8024-a47fa012c1ed is now active with session: dbf667f4-f1b9-4d3b-ba3a-c577b97341d8","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.457518414Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"Set Active after no reconciliation","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.457527722Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"session_id":"dbf667f4-f1b9-4d3b-ba3a-c577b97341d8"} {"msg":"The guest has finished waiting for activation with:198","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.457537451Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931} {"msg":"Activated sub_volume 135f0e89-d22c-46ef-8024-a47fa012c1ed","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.45754596Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931} {"msg":"Wait for a query_work_queue command to finish before sending IO","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.457554569Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"task":"crutest"} Disk: sv:1 bs:4096 ts:2457600 tb:600 max_io:256 or 1048576 Loading write count information from file "/tmp/test_repair/test_repair_verify.data" {"msg":"Run Repair workload","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.45786105Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"task":"crutest"} 01/30 Write block 128 len 4096 data: 10 02/30 Read block 95 len 8192 03/30 Read block 33 len 32768 04/30 Flush 05/30 Write block 516 len 40960 data: 14 14 12 11 13 14 12 11 12 12 06/30 Read block 464 len 20480 07/30 Read block 303 len 36864 08/30 Write block 442 len 40960 data: 15 18 21 18 17 14 14 15 14 14 09/30 Read block 546 len 12288 10/30 Read block 101 len 32768 11/30 Write block 293 len 36864 data: 24 20 21 26 29 29 24 20 16 12/30 Flush 13/30 Write block 504 len 16384 data: 17 15 13 16 14/30 Read block 265 len 20480 15/30 Read block 540 len 24576 16/30 Read block 164 len 32768 17/30 Read block 314 len 4096 18/30 Write block 33 len 28672 data: 13 16 13 13 13 17 12 19/30 Write block 144 len 32768 data: 14 16 21 20 16 15 16 13 20/30 Read block 475 len 28672 21/30 Read block 389 len 20480 22/30 Write block 115 len 20480 data: 13 11 11 11 12 23/30 Read block 168 len 20480 24/30 Read block 174 len 20480 25/30 Read block 348 len 8192 26/30 Read block 222 len 28672 27/30 Read block 537 len 12288 28/30 Write block 422 len 24576 data: 15 19 17 12 13 14 29/30 Write block 418 len 16384 data: 15 16 17 17 30/30 Write block 225 len 40960 data: 17 16 15 16 13 15 14 12 12 14 ---------------------------------------------------------------- Crucible gen:198 GIO:true work queues: Upstairs:0 downstairs:30 States: Active Active Active JOBID ACK TYPE BKS/EXT DS:0 DS:1 DS:2 REPLAY 1000 Acked Write 1 Done Done Done false 1001 Acked Read 2 Done Done Done false 1002 Acked Read 8 Sent Done Done false 1003 Acked Flush 0 Sent Done Done false 1004 Acked Write 10 Sent Done Done false 1005 Acked Read 5 Sent Done Done false 1006 Acked Read 9 Sent Done Done false 1007 Acked Write 10 Sent Done Done false 1008 Acked Read 3 Sent Done Done false 1009 Acked Read 8 Sent Done Done false 1010 Acked Write 9 Sent Done Done false 1011 Acked Flush 0 Sent Done Done false 1012 Acked Write 4 Sent Done Done false 1013 Acked Read 5 Sent Done Done false 1014 Acked Read 6 Sent Done Done false 1015 Acked Read 8 Sent Done Done false 1016 Acked Read 1 Sent Done Done false 1017 Acked Write 7 Sent Done Done false 1018 Acked Write 8 Sent Done Done false 1019 Acked Read 7 Sent Done Done false 1020 Acked Read 5 Sent Done Done false 1021 Acked Write 5 Sent Done Done false 1022 Acked Read 5 Sent Done Done false 1023 Acked Read 5 Sent Done Done false 1024 Acked Read 2 Sent Done Done false 1025 Acked Read 7 Sent Done Done false 1026 Acked Read 3 Sent Done Done false 1027 Acked Write 6 Sent Done Done false 1028 Acked Write 4 Sent Sent Sent false 1029 Acked Write 10 Sent Sent Sent false STATES DS:0 DS:1 DS:2 TOTAL Sent 28 2 2 32 Done 2 28 28 58 Skipped 0 0 0 0 Error 0 0 0 0 Last Flush: None Some(JobId(1011)) Some(JobId(1011)) Downstairs last five completed: Upstairs last five completed: 1029 1028 1027 1026 1025 {"msg":"Guest handle has been dropped","v":0,"name":"crucible","level":40,"time":"2026-10-21T21:49:04.466880903Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931} {"msg":"Wrote out file \"/tmp/test_repair/test_repair_verify.data\"","v":0,"name":"crucible","level":30,"time":"2026-10-21T21:49:04.467197212Z","hostname":"w-01M5G6GX7T5TNYFG29BH77K79N","pid":1931,"task":"crutest"} Current downstairs dump with dump args: --no-color -d /var/tmp/test_repair/8810 -d /var/tmp/test_repair/8820 -d /var/tmp/test_repair/8830 EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 192 192 192 328 328 328 F F F 1 020-039 194 194 194 330 330 330 F T T <--- 2 040-059 196 196 196 338 338 338 F F F 3 060-079 194 194 194 329 329 329 F F F 4 080-099 189 189 189 321 321 321 F F F 5 100-119 197 197 197 339 339 339 F T T <--- 6 120-139 196 198 198 336 340 340 T F F <--- 7 140-159 195 195 195 333 333 333 F T T <--- 8 160-179 194 194 194 331 331 331 F F F 9 180-199 190 190 190 324 324 324 F F F 10 200-219 190 190 190 326 326 326 F F F 11 220-239 196 196 196 338 338 338 F T T <--- 12 240-259 194 194 194 332 332 332 F F F 13 260-279 194 194 194 332 332 332 F F F 14 280-299 196 198 198 336 341 341 F F F <--- 15 300-319 189 198 198 321 341 341 F F F <--- 16 320-339 194 194 194 331 331 331 F F F 17 340-359 190 190 190 324 324 324 F F F 18 360-379 197 197 197 339 339 339 F F F 19 380-399 197 197 197 339 339 339 F F F 20 400-419 194 194 194 332 332 332 F T T <--- 21 420-439 195 195 195 333 333 333 F T T <--- 22 440-459 196 198 198 336 341 341 F F F <--- 23 460-479 194 194 194 330 330 330 F F F 24 480-499 196 196 196 335 335 335 F F F 25 500-519 190 198 198 326 341 341 F T T <--- 26 520-539 196 198 198 335 341 341 F F F <--- 27 540-559 190 190 190 324 324 324 F F F 28 560-579 194 194 194 330 330 330 F F F 29 580-599 197 197 197 339 339 339 F F F Max gen: 198, Max flush: 341 Error: Difference in extent metadata found! Stack backtrace: 0: ::msg::<&str> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/backtrace.rs:10:14 1: anyhow::__private::format_err at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.104/src/lib.rs:687:13 2: crucible_downstairs::dump::dump_region at /work/oxidecomputer/crucible/downstairs/src/dump.rs:384:9 3: crucible_downstairs::main::{closure#0} at /work/oxidecomputer/crucible/downstairs/src/main.rs:382:13 4: > as core::future::future::Future>::poll at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/future/future.rs:133:9 5: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:71 6: tokio::task::coop::with_budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:167:5 7: tokio::task::coop::budget::>, ::block_on>>::{closure#0}> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/task/coop/mod.rs:133:5 8: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/park.rs:284:31 9: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/blocking.rs:66:14 10: ::block_on::>>::{closure#0} at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:92:22 11: tokio::runtime::context::runtime::enter_runtime::<::block_on>>::{closure#0}, core::result::Result<(), anyhow::Error>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/context/runtime.rs:65:16 12: ::block_on::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/scheduler/multi_thread/mod.rs:91:9 13: ::block_on_inner::>> at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:376:50 14: ::block_on:: at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.53.2/src/runtime/runtime.rs:341:18 15: crucible_downstairs::main at /work/oxidecomputer/crucible/downstairs/src/main.rs:298:16 16: core::result::Result<(), anyhow::Error> as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:250:5 17: std::sys::backtrace::__rust_begin_short_backtrace:: core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/sys/backtrace.rs:166:18 18: std::rt::lang_start::>::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:206:18 19: <&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync as core::ops::function::FnOnce<()>>::call_once at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/core/src/ops/function.rs:287:21 20: std::panicking::catch_unwind::do_call::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 21: std::panicking::catch_unwind:: + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 22: std::panic::catch_unwind::<&dyn core::ops::function::Fn<(), Output = i32> + core::panic::unwind_safe::RefUnwindSafe + core::marker::Sync, i32> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 23: std::rt::lang_start_internal::{closure#0} at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:175:24 24: std::panicking::catch_unwind::do_call:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:576:43 25: std::panicking::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panicking.rs:544:19 26: std::panic::catch_unwind:: at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/panic.rs:359:14 27: std::rt::lang_start_internal at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:171:5 28: std::rt::lang_start::> at /rustc/58cf8f9c35b355199727627d07ae34a4e2846d67/library/std/src/rt.rs:205:5 29: main 30: _start_crt 31: _start A Difference in extent metadata is expected here On loop 99 Verifying data now No change after verify Loop: 99 Downstairs dump after verify (and repair): EXT BLOCKS GEN0 GEN1 GEN2 FL0 FL1 FL2 D0 D1 D2 DIFF 0 000-019 192 192 192 328 328 328 F F F 1 020-039 199 199 199 342 342 342 F F F 2 040-059 196 196 196 338 338 338 F F F 3 060-079 194 194 194 329 329 329 F F F 4 080-099 189 189 189 321 321 321 F F F 5 100-119 199 199 199 342 342 342 F F F 6 120-139 198 198 198 340 340 340 F F F 7 140-159 199 199 199 342 342 342 F F F 8 160-179 194 194 194 331 331 331 F F F 9 180-199 190 190 190 324 324 324 F F F 10 200-219 190 190 190 326 326 326 F F F 11 220-239 199 199 199 342 342 342 F F F 12 240-259 194 194 194 332 332 332 F F F 13 260-279 194 194 194 332 332 332 F F F 14 280-299 198 198 198 341 341 341 F F F 15 300-319 198 198 198 341 341 341 F F F 16 320-339 194 194 194 331 331 331 F F F 17 340-359 190 190 190 324 324 324 F F F 18 360-379 197 197 197 339 339 339 F F F 19 380-399 197 197 197 339 339 339 F F F 20 400-419 199 199 199 342 342 342 F F F 21 420-439 199 199 199 342 342 342 F F F 22 440-459 198 198 198 341 341 341 F F F 23 460-479 194 194 194 330 330 330 F F F 24 480-499 196 196 196 335 335 335 F F F 25 500-519 199 199 199 342 342 342 F F F 26 520-539 198 198 198 341 341 341 F F F 27 540-559 190 190 190 324 324 324 F F F 28 560-579 194 194 194 330 330 330 F F F 29 580-599 197 197 197 339 339 339 F F F Max gen: 199, Max flush: 342 7:27 Test duration Test completed real 7:26.837689384 user 24.981028756 sys 13.880754935 trap 0.019061617 tflt 0.063821769 dflt 0.100179234 kflt 0.003458654 lock 11:54:45.360388389 slp 36:13.197678876 lat 2.225176941 stop 0.020051016