Skip to content

fix: use iterator.seq() for frame mapping for Verus breaking change#440

Merged
rikosellic merged 5 commits intoasterinas:mainfrom
Marsman1996:fix-verus
May 9, 2026
Merged

fix: use iterator.seq() for frame mapping for Verus breaking change#440
rikosellic merged 5 commits intoasterinas:mainfrom
Marsman1996:fix-verus

Conversation

@Marsman1996
Copy link
Copy Markdown
Collaborator

No description provided.

@Marsman1996 Marsman1996 requested a review from rikosellic May 9, 2026 01:58
@Marsman1996
Copy link
Copy Markdown
Collaborator Author

Marsman1996 commented May 9, 2026

Updated: fixed by the fix: no error error commit


Well, strange error message...

error: assertion failed
   --> /home/yuwei/ruzykaller/kverus/database/verified/code/ostd/src/../specs/mm/page_table/cursor/owners.rs:850:16
    |
850 |         assert(self.va.inv());
    |                ^^^^^^^^^^^^^ assertion failed

note: diagnostics via expansion

note: 

(mut_ref_current(self)).va.inv()
|   let tmp%% = 0;
|       let tmp%% = (mut_ref_current(self)).va.offset;
|           let tmp%% = PAGE_SIZE();
|               tmp%% <= tmp%% ✔
|               tmp%% < tmp%% ✔
|   (mut_ref_current(self)).va.index.dom() =~= new((|i| let tmp%% = 0 in let tmp%% = i in let tmp%% = NR_LEVELS() in tmp%% <= tmp%% && tmp%% < tmp%%)) ✔
|   forall |i|
|       let tmp%% = 0 in let tmp%% = i in let tmp%% = NR_LEVELS() in tmp%% <= tmp%% && tmp%% < tmp%% ==>
|           (mut_ref_current(self)).va.index.dom().contains(i) ✔
|           let tmp%% = 0;
|               let tmp%% = (mut_ref_current(self)).va.index.index(i);
|                   let tmp%% = NR_ENTRIES();
|                       tmp%% <= tmp%% ✔
|                       tmp%% < tmp%% ✔
|   let tmp%% = 0;
|       let tmp%% = (mut_ref_current(self)).va.leading_bits;
|           let tmp%% = 65536;
|               tmp%% <= tmp%% ✔
|               tmp%% < tmp%% ✔
+---

    NOTE: Verus failed to prove an assertion even though all of its
    sub-assertions succeeded. This is usually unexpected, and it may
    indicate that the proof is "flaky". It might also be a result
    of additional expressions in the triggering context in the expanded
    version.

@Marsman1996 Marsman1996 added AI-assist AI-aided proof or generation verus-breaking-change Proof failures caused by breaking change of verus toolchain labels May 9, 2026
@Marsman1996
Copy link
Copy Markdown
Collaborator Author

Weeeell, it of course will fail the CI...

@rikosellic
Copy link
Copy Markdown
Collaborator

/ci-upstream-verus

@rikosellic
Copy link
Copy Markdown
Collaborator

According to the migration guide, we should use it.seq() instead of the raw snapshot definition.

@rikosellic rikosellic changed the title fix: use snapshot iterator for frame mapping for Verus breaking change fix: use iterator.seq() for frame mapping for Verus breaking change May 9, 2026
@rikosellic
Copy link
Copy Markdown
Collaborator

/ci-upstream-verus

@rikosellic rikosellic merged commit ee10447 into asterinas:main May 9, 2026
1 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AI-assist AI-aided proof or generation verus-breaking-change Proof failures caused by breaking change of verus toolchain

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants