-
Notifications
You must be signed in to change notification settings - Fork 107
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
Trivial kani test takes a very long time to complete #1714
Comments
Hi @toidiu, thanks for raising this issue. Is the verification step the one that is taking most of the time? |
Looking at #1713, I'm assuming that the verification is the culprit. @zhassan-aws do you have any insight on what might help here? |
I ran it on my end with the MIR linker, and it takes less than a minute, so it's likely that the 30 minutes was dominated by compilation time:
|
I'm seeing both long compilation and verification times.
The |
@camshaft This was without the MIR linker? |
yeah MIR linker: $ cargo kani --tests --harness insert_value --mir-linker --enable-unstable |
Correct, both compilation and verification took long and I was also using miri linker. This was run on a M1 mac if that makes a difference. |
Confirmed that 5539c0d brings down memory usage and run time significantly. |
@camshaft / @toidiu can you please post the total time, compilation time and verification time that you are experiencing? I tested before and after #1717 was merged. With the MIR Linker, the compilation time didn't change much (it's about 20s for me), but the verification time and memory consumption has changed dramatically. @tautschnig this is puzzling me quite a bit. The #1717 has fixed the missing symbols problem with the Could it affect constant propagation?? We encode missing definitions as What happens if we have the following code:
will constant propagation be able to assign |
Version 0.12.0 was released on Tuesday. @toidiu @camshaft can you confirm if this harness now finishes quickly (with |
If I run that on my x86 macbook it's now super fast! That seems to have addressed the issue. However on my Linux machine I'm seeing a verification error, even after nuking
This may be worth opening another issue for, though. |
The
So we might be triggering something weird in CBMC? |
I looks like you have multiple declarations of |
My apologies for the late response! Yes, such constant propagation should take place, but also it might be that you're now providing definitions that result in precisely specified behaviour where previously a lot of non-determinism was present. But that's all guess work, I'd have to look at this in much more detail if this is still relevant. |
Perhaps the Weird that it only affects one platform though. |
It might be worth doing a |
I don't think that's related to #1448. In this issue, the cargo command fails to run in the first place. |
I created a new issue to track the spurious failure. I'll take a look at it today. |
I think we can call this ticket closed, yeah? |
Closing per the comment above. |
aws/s2n-quic#1508
I used the following command to execute the kani test and it took close to 30 min on my M1 mac
cargo kani --tests --harness kani_test --mir-linker --enable-unstable
The text was updated successfully, but these errors were encountered: