Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extra Symtabs leads to conflicting proof harnesses #1478

Closed
YoshikiTakashima opened this issue Aug 9, 2022 · 5 comments · Fixed by #2246
Closed

Extra Symtabs leads to conflicting proof harnesses #1478

YoshikiTakashima opened this issue Aug 9, 2022 · 5 comments · Fixed by #2246
Assignees
Labels
[C] Bug This is a bug. Something isn't working. [F] Spurious Failure Issues that cause Kani verification to fail despite the code being correct.
Milestone

Comments

@YoshikiTakashima
Copy link
Contributor

YoshikiTakashima commented Aug 9, 2022

I tried this code: cargo-kani/vecdeque-cve/

using the following command line invocation:
./scripts/kani-regressions.sh

with Kani version: git clone --branch 1478-bug-replication https://github.com/YoshikiTakashima/kani.git

I expected to see this happen: This test case to pass.

Instead, this happened: The test case fails b/c spurious warnings
differ from expected output.

It seems he cause appears to be that passing extra symtabs in
kani-driver/src/call_cargo.rs. If that is removed, then the warnings go away.

@YoshikiTakashima YoshikiTakashima added Cat: bug [F] Spurious Failure Issues that cause Kani verification to fail despite the code being correct. labels Aug 9, 2022
@celinval
Copy link
Contributor

celinval commented Aug 9, 2022

@YoshikiTakashima How did you conclude that the failure is due to the warnings? Looking at the CI failure here: https://github.com/YoshikiTakashima/kani/runs/7737696525

I see the following errors printed at the bottom:

Error: Conflicting proof harnesses named abstract_remove_maintains_invariant:
2022-08-09T01:54:13.8255351Z  abstract_vecdeque::verification::abstract_remove_maintains_invariant
2022-08-09T01:54:13.8255705Z  abstract_vecdeque::verification::abstract_remove_maintains_invariant
2022-08-09T01:54:13.8255898Z 

@YoshikiTakashima YoshikiTakashima changed the title Extra Symtabs leads to Spurious Warnings of unused imports Extra Symtabs leads to conflicting proof harnesses Aug 9, 2022
@YoshikiTakashima
Copy link
Contributor Author

YoshikiTakashima commented Aug 9, 2022

@celinval I think you're right. That's the actual cause.

It gave me a "unexpected output" as the message, so I wrongly assumed it was the different input.

@YoshikiTakashima
Copy link
Contributor Author

More evidence for duplication: It seems proptests are actually running twice:

Checking harness sum_lower_than_2020...
Report written to: target/report-sum_lower_than_2020/html/index.html
Checking harness arbitrary_boolean::arbitrary_boolean...
Report written to: target/report-arbitrary_boolean-arbitrary_boolean/html/index.html
Checking harness proptest_library_is_linked::successfully_linked_proptest...
Report written to: target/report-proptest_library_is_linked-successfully_linked_proptest/html/index.html
Checking harness sum_lower_than_2020...
Report written to: target/report-sum_lower_than_2020/html/index.html
Checking harness arbitrary_boolean::arbitrary_boolean...
Report written to: target/report-arbitrary_boolean-arbitrary_boolean/html/index.html
Checking harness proptest_library_is_linked::successfully_linked_proptest...
Report written to: target/report-proptest_library_is_linked-successfully_linked_proptest/html/index.html

@YoshikiTakashima
Copy link
Contributor Author

YoshikiTakashima commented Aug 16, 2022

Due to changes in the way we integrate proptest, this issue is no longer blocking.

See the closing comment in #1435

@tedinski tedinski added [C] Bug This is a bug. Something isn't working. and removed Cat: bug labels Nov 9, 2022
@celinval celinval added [F] Crash Kani crashed [F] Spurious Failure Issues that cause Kani verification to fail despite the code being correct. and removed [F] Spurious Failure Issues that cause Kani verification to fail despite the code being correct. [F] Crash Kani crashed labels Nov 9, 2022
@celinval celinval added this to the Proof Caching milestone Feb 23, 2023
@celinval
Copy link
Contributor

This is a blocker for re-enabling the build cache.

celinval added a commit to celinval/kani-dev that referenced this issue Feb 23, 2023
Note: Need to fix model-checking#1478 before pushing this
@celinval celinval moved this to In Progress in Kani 2023-03-06 Feb 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[C] Bug This is a bug. Something isn't working. [F] Spurious Failure Issues that cause Kani verification to fail despite the code being correct.
Projects
No open projects
Status: In Progress
Status: Done
Development

Successfully merging a pull request may close this issue.

3 participants